There's one fatal problem with .NET platform: it only (usefully) available for Windows. Who can afford to ignore other platforms these days? Windows, especially on the server side is on the decline. In mobile it never took off. The rest is not really relevant.
I agree with you about windows, but I've been doing C# development on mac and linux for the past year. I don't even call myself a .NET developer anymore, I just say Mono or C#.