C# is a fine language, and ASP.Net MVC is a great framework, but I can't help but feel like the 'other kids' are ransacking the candy store while I'm out on the curb. In terms of testing frameworks and tools, the Ruby/Rails platform is lightyears ahead. I know there are attempts to bring some of the core concepts in RSpec and Cucumber to the .Net platform, but we're not there yet, and probably never will be. The goalposts are always shifting - the OSS platform can respond to change and new ideas much more quickly than the MS platform.
We have an MVC framework for web development now, but it has taken 10 years (Java Struts was released roughly around the same time as Webforms iirc)! Testing is only one element of this - in the OSS world we're also seeing an explosion of asynchronous queuing/messaging frameworks, object/document datastores, serverside js and other innovations.
I also share your frustration with the coupling of the framework releases to a new IDE. I use Vim for everything other than .Net development, and like the fact that the rug isn't going to be pulled out from under me every two years.
As a Microsoft developer it is hard not to feel envious of the OSS community. The Alt.Net community if anything appears to be shrinking, and it is presumably because those developers have come to a similar conclusion as yourself - the cost simply does not justify what the MS platform can offer.
But you still had to switch and it still cost you time and money you wouldn't need to spend had you just gone with Flash in the first place. So the point to me is still "don't use Microsoft technology because you'll end up needing to switch"
I can see how it might come off like I'm damning the platform - that was hardly my intention. Rails has had 3+ years of Open Source contribution to build out the platform and make it do amazing things - ASP.NET MVC will (hopefully) grow in some of the same ways - but there's a somewhat stunted element to the .NET OSS ecosystem. Hopefully that will change.