This is a very interesting point...do you have any suggestion for the types of tools that you would want to see be free which aren't? Would contests from MSFT help in this regard? What kind of investment could they make on this problem which would resonate with this audience?
Until Windows is a free platform, I think you'll always find that it's relatively difficult to find, use, and develop free software there and that the users of the platform will tend to be people who care less about free software. Having said that, things would be better for free software contributors and users if Microsoft were merely passively uninterested in software freedom.
I think the first thing for them to do is to stop actively opposing the free software community. Microsoft has repeatedly attacked free software projects on the .NET platform, from NUnit to NAnt to NDoc, by launching alternatives with few or no technical advantages. This not only destroys momentum, but it strengthens the cultural tendency among Microsoft customers to distrust anything that does not originate in Redmond.
Lately Microsoft has released some of their software under liberal licensing terms. I think this won't help much, so long as they discourage and hamper participation beyond consumption by members of the public.
The MVP programme is highly regarded, I think -- perhaps that could be be amended to celebrate open source contributions to a wider degree or a parallel programme established.
Codeplex and Microsoft releasing open source code in general (eg. Oxite) probably helps too. Microsoft engineers openly working on projects not originating at MS (FacebookToolkit, say) might be a welcome move too.