.Net and Silverlight, were they open and unencumbered standards not exclusively implemented by Microsoft, would be better than NaCl because .net uses a platform-independent bytecode, which avoids leaking the processor type through the abstraction of the browser.
Mono isn't exactly at par either, there's always a fairly substantial lag time, and only a subset of the .Net stack is standardized. ASP.NET and Windows Forms are notably absent from ECMA standards, as well as from Microsoft's "community promise" with regard to patents.
First of all, we're talking about the VM here, so why does not having ASP.NET or Windows Forms make any difference? Better yet, would you even want your browser to come with them? Also, although the VM bytecode does change with time, it doesn't change as much as the .NET libraries. I'm saying this because the 'lag time' argument isn't all that significant for this reason.
But outside of that, "substantial lag time"? In my opinion the mono team has always been exceptionally fast when it comes to implementing new features in the .NET world. Plus mono has its own tool sets and features that aren't in the regular .NET framework and wont be any time soon.
I am not saying that Mono is the VM I'd like browsers to implement, but my reasons are definitely not related to it not being able to come with the ASP.NET framework.