"We're tied to AWS and we need to edit some code to deploy on Rackspace Cloud or into our new DC"
vs.
"We're tied to MS so our options of where we're going to go are severely limited by the fact that we can ONLY move to providers who work with MS."
The fact is when writing a .Net web app, if you don't like the way IIS or Windows Server or their providers are handling things, you're out of options. Oh and if you want those nice features that make the ecosystem usable, you get to upgrade everybody to the Pro version (not just the people who need the features.) Remember to buy the next version, too, so you don't fall behind on updates and enhancements. And the next version.
You don't have to rely on the built-in providers any more than and RoR app has to use only the scaffolded views.
Also, the Mono project has made it possible to run almost any .NET app on Linux. There are a handful of projects at Novell that are written in C#, but are served via Apache on a Linux box.
I'd argue that the gap between 'any' and 'almost any' is larger than what you're implying - at least large enough that it can't be ignored.