Microsoft has all interest in preventing cross-platform software to happen. The incompatibility between Windows and Linux is the main reason why people don't migrate to Linux in large numbers. Both the Mono and Moonlight projects are trying to eliminate exactly this obstacle.
Because of this, I wonder whether it isn't very risky to start developing on the Mono or Moonlight platforms, as Microsoft is likely to thwart these cross-platform efforts.
Your suspicions may be founded on past actions of Microsoft, (e.g. "Linux is a cancer" line from Ballmer), but it appears that the company is shifting to a more tolerant, even embracing, position with regard to open source.
One indication of this is the establishment of the Codeplex foundation for promoting open source projects related to Microsoft technology. One of the board of directors is Miguel de Icaza, the originator of the Mono project.
My entirely unscientific view is that a lot of pressure is placed on Microsoft by open source projects like Ruby on Rails, which gain a lot of popularity and divert attention from Microsoft. ASP.NET MVC is a direct response to Ruby on Rails, and it is completely open source.
In other words, if you can't beat 'em...
Microsoft stands to gain a lot from being perceived as cooperative with the open-source community. Making C# and the CLR an open standard ultimately insures that their code will run anywhere, and helps them achieve their vision of world domination. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With