More than that, for typical distributed "enterprise-y" type stuff (a crap-ton of services that call each other) MS's stuff is generally superior. Creating a typical WSDL based service on Java using Spring requires a lot more work than with .Net, and all of the nice little features (like tools for manually calling a web-service API) are built-in.
Unless you are a big enough company to be able to roll your own infrastructure tools to make use of linux's advantages or have very significant scale requirements the cost difference is unlikely to be huge (much of the cost will be operations labor anyway) and the service and support backing of MS is a significant boon in the enterprise world.
LLVM and Javascript are contenders but they aren't platforms yet, although I think they will see a ton of use in web apps and web services, especially outside the enterprise.