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.
There are game-theoretical aspects at play. If I fear lock-in and Microsoft appears like it's try to ensure lock-in from all .NET adopters, I won't adopt .NET; Microsoft wants me to adopt .NET (with their excellent technical team on it and their accumulated know-how it's reasonable to assume that they'll always have most of the best implementation aspects of it on their platform, so users of .NET are more likely than non-users to want Microsoft solutions such as Windows Server, Azure, etc) -- so it's important for Microsoft to make it appear that they're not hindering Mono, but rather helping it out (that's even more important for SilverLight and MoonLight, which are fighting for the non-HTML-RIA space against the market leading offerings from Adobe, opensource and otherwise). And the simplest and most solid way for MSFT to achieve such appearance is to make non-hindrance a reality, not just a sham.
So the risks to adopting .NET (via the open source implementations) are: (a) Microsoft will miscalculate its strategy, and frighten future adopters off; or (b) the platform becomes so dominant that MSFT's optimal strategy shifts to locking people in (they don't fear frightening people away any more, because they totally own the dominant computing platform once again). Both are of course possibilities (and if you believe [a] will happen you should short MSFT stock -- if you believe [b], you should go long on the same;-) but neither strikes me as incredibly likely. For example, the momentum players in the platform battle in the emerging computing segment of smart phones seems to be mostly Apple and Android, with RIM and Nokia as other important players, and MSFT currently struggling to keep relevance and momentum in the segment -- while that may of course change, at this time the prospects of MSFT "owning computing platforms" appear remote (given the growing importance of smart phones as a segment of computing platforms).
But, as they say: you pays your money, you takes your choices!-)