Fwiw he went with Rails for Discourse because the entire stack has to be both free as in beer, and Free as in liberty, since it's competing against phpbb and the like, which are both f/Free and good enough for most people.
For Discourse to take off in the way he wants it to, he can't risk relying on better features to compensate for cost differential, he has to eliminate cost differential.
If he were building another SO or closed-source SaaS product, asp.net mvcc would probably still be an option.
Apple's made no real moves to become more corporate friendly in the desktop space (and things like their recent blocking of Java definitely won't help them) and Linux on the corporate desktop is miles away from adoption (some public bodies which did adopt it have moved back to Windows).
People talk about the new era of tablet computing, but tablets are pretty much useless for a lot of typing-heavy work. Perhaps eventually a descendant of the tablet (perhaps something like the chromebook) will start to dislodge windows for lighter-weight corporate usage, but I believe it'll be a long time coming. Most large companies have piles of weird internal web-based tools which can't deal with touch, perhaps run on Java or Flash or depend on IE6 technologies, and the slow and cumbersome process of replacing them will take an age.
Edit: to clarify, right now we're at a point where it's rare for a tablet (or smartphone) to be someone's primary or only computing device, but as they become more popular that will increasingly be the case, and then people will develop new habits and new modes of use to fit these devices into their work or their lives. Meaning that if people are using them at work then they'll tend to have some way to use a physical keyboard with them for the times when an onscreen keyboard won't cut it.
Great times for Xamarin.
Just last week I downloaded the MonoTouch toolkit and will experiment a bit with creating a multi-platform (iOS / Android) app with a partially shared codebase in C#. So far I like the following things about the MonoTouch toolkit:
a) UIKit methods / classes are called more or less the same. Don't need to look up the API much.
b) from what I understand, it should be possible to create my own wrappers around Obj-C (iOS) or Java (Android) objects.
c) Create optimised user interfaces for each platform. This is the part where the code will differ mostly.
d) MonoDevelop is a nice, though somewhat sparse / limited IDE. I really hate the future creep of Eclipse and imo Visual Studio could also use a little trimming in the UI - otherwise a fine product though. I love Xcode.
Regarding your point about MonoDevelop, I won't spill the beans but Xamarin is preparing something exciting to fix IDE problems right now.
Microsoft no longer has the mind share of either the public or the development community. The "cool kids" tend not to develop on MS platforms these days by choice. Look at Jeff Atwood, he was a prominant asp.net mvc dev (stackoverflow) and he has chosen to use rails for his next project (discourse). This trend is all the more troublesome because C# is really a fanstastic language. But the downsides of being tied to the Windows/MSSQL/IIS platform is like have a boat anchor around your ankle. Similarly, how many people are excited about windows 8 vs. iOS or android?
Also, look at Microsoft's big pushes, bing and winphone 7+. Both have been at best partial successes, and they need more than that for a company their size.
The exact moment in time that is the biggest problem for a company facing potential decline like Microsoft is not when they have ceded the majority of marketshare to a competitor, nor is it when their revenues and marketshare being to contract. The key moment is the inflection point in their growth rate, when the 2nd derivative turns from positive to negative. That's the point where if nothing is done then eventually the peak will be reached and decline will set in. That's the point where there is still the opportunity to turn things around, it's the point where the resources are still available and the least work needs to be done to make a change.