Paul Gustavson makes the point that users aren’t asking for .NET apps. If they want a Windows program then they’re quite happy with the Win32 API. If they want cross-platform then Java dominates.
The key point is that the Win32 API remains Microsoft’s unique selling point. It’s easily the most used API, and it’s not about to go anywhere.
.NET falls uncomfortably between two stools. It wants to supersede the Win32 API, but Microsoft has too much investment in Win32 to allow that to happen. And it wants to be set free to be cross-platform, but Microsoft won’t take that risk either.
The message to developers is clear: you’re more competitive on Windows if you stick with Win32, preferably with a grown up language and class library like Delphi’s Object Pascal and the VCL.