From my experience - Java will get you a much larger audience, but .Net audience is more happy to pay for tools/libs. In .Net pay-for is the norm, in Java open source is the norm. Opportunities on both sides.
The main other issue on the .Net side is if you get in the way of MS - the will just run over you and make you irrelevant.
Do you have examples of MS running over companies that got in the way? What should I avoid to prevent that?
I am thinking of selling a somewhat unconventional and new (for the mainstream, like Lisp) programming tool. I thought that the .NET community will be less reluctant to try such a thing because MS is pushing new things like F# too. What do you think?
Microsoft is pushing (relatively) fresh ideas into the mainstream, but in my experience the overwhelming majority of .NET programmers aren't interested in new things that don't come from Redmond. caustic said it more generally: C# has some nice language features, but Java has a more sophisticated and open-minded community.