Why wouldn't a startup that I start use .NET? Because it's too late. The time to catch me was 5-10 years ago - when I was a middle school/high school code monkey playing with the Linux/GNU/gcc stack.
Now it's simply too late. Sure, I could and would invest time and money if your stack was orders of magnitude better. And I often do learn and use new stacks (the ML family; common Lisp) if they happen to be by far the right environment for the problem at hand. But if .NET is just "Java, but a little better", it's really not worth my time.