It's not .NET, .NET is a fantastic framework. The problem here is you're not just selling IIS and .NET, you're trying to sell the entire Microsoft ecosystem. There are so many MS components that just don't work on the Open Source world.
Microsoft makes most of its money with its business products, so it's not cheap. Some companies just simply don't want to pay the Microsoft premium.
I don't think it's worth mentioning Mono. It's impressive what they've managed to accomplish, but it's nowhere near being a true replacement for .NET, especially for any serious system.
Microsoft makes most of its money with its business products, so it's not cheap. Some companies just simply don't want to pay the Microsoft premium.