On a pure technical level C# is better than Java, and F# is one of the most interesting languages in recent years. (SQL server really does have nothing going for it).
But the pure technical level isn't all that matters for a programming language. There's not the same library community around .net, because it came five years later and not enough better than java. And there's no migration path, because - which is worse - none of the MS stack interoperates with anything else.
I would, quite genuinely, like to do parts of my current job in F#. But there's no eclipse support for it. Even if I wanted to use visual studio, which I don't, it doesn't run on linux (and that's to say nothing of deployment - our ops team has been burned enough times trying to run windows servers). If I'm going to write things in F# there has to be a way for the rest of my code to use it, but F# doesn't run on the JVM so I can't write a library in it (or call JVM libraries), and when I looked for protocol buffers support all I can see is some third-party google code project.
I wouldn't want MS to give up on .net as it's actually a really good VM, so I guess that part makes sense, but windows is useless on the workstation and the server - and it seems like all the cool MS technology only runs on windows.