The only people that know about the new things MS comes out with are the few of us .NET developers also with a foothold in the Startup scene, and old enterprise companies who bought into the stack back in VB5/C++/MVC days.
The other uphill battle is young people's view on technology. Most of them would rather platform-hop in the same way people change churches (and for much the same reasons). New = better, and Microsoft = old, so no need to even see what they have to offer. Young people with ample free time have always driven the software industry, and young people want to use things built by startuppy or nonsensical names. "Microsoft? They actually have software in the name? No thanks!"
Finally, it's an issue of evangelism and online/community presence. Because enterprise is the bread and butter of MS, MS tends to target those kind of people more. It's not that they don't try to capture new minds, but when you attend an event where you're the lone startup guy among 50 enterprise people, how do you think presentations are going to be focused? When your community seems to be centralized on your corporate domain, are you really going to attract someone who isn't willing to type in "microsoft"? New platforms get popular not because they're actually better, but because they're cooler. Either cooler sounding, there's a new type of tutorial (to-dos and 5-minute-blogs are played out, people), or it's got a guy with weird hair promoting it, using Jobs-esque language like "beautiful" or "elegant". Of course it's elegant at version 0.9 before it really does anything. Look at Rails now that it actually does stuff.
Anyway, mini-rant over. I think MS deserves more attention than they get, but ultimately they dig their own grave by not investing more in capturing that next generation.