I also don't see this: "I would fault them for building their entire ecosystem with total disregard for standards, their refusal to work with whatever community existed outside." My daily experience is very different. If I start a new project, it'll almost certainly be on the open-source (Apache 2.0) ASP.NET MVC platform. That gives me Twitter Bootstrap, Knockout.js, OAuth2.0, etc. It's a neatly integrated patchwork of commonly-used, standards-happy, open-source frameworks and libraries, and it'll work happily on safari and chrome and on my phone. So I don't feel particularly isolated away from the rest of the development world.
Summary is, I'm sure this vision was true years ago, but things seem to have moved on. I think that now, if I want to put together software using modern approach, there aren't approaches or technologies that the MS stack makes tricky. But I'm happy to be corrected; are there technologies or approaches I can't use fairly easily on the MS stack? Cloud computing? single page apps? continuous integration? BDD? etc. What am I missing?