Some of the patents that Oracle is suing Google over are pretty general and would apply to either Mono or Microsoft's own .NET runtime as well as many other similar pieces of code in the wild. As long as software patents are taken seriously, any large blob of code is facing similar "issues".
Actually, it faces even bigger issues, since you essentially have to be using a version of Mono that is paid for. Java at least has a solid grant of patents so long as you're using the GPL version.
Microsoft has intentionally worded their licenses to allow them to sue anyone who isn't paying for their software in the future.
In a certain sense, this is the intent of the GPL rearing its ugly head. When Oracle says Android violates their copyright, it seems like what they mean is they've taken GPL code (the Java standard) and re-implemented it under a different license. Though I'm in no way deep in enough to say that authoritatively, and like the entire suit the rationale seems questionable to say the least.
A potential Microsoft suit looks to be allowed by the Mono licensing.
I'm not sure what you're referring to in a couple of places:
> since you essentially have to be using a version of Mono that is paid for
What do you mean? The MS-Novel patent deal was done long time ago. Now, there is a better document in place: http://www.microsoft.com/interop/cp/default.mspx - both C# and CLI are covered and no implementation is pointed at. It stops them from suing for "making, using, selling, offering for sale, importing or distributing any implementation" - as long as it's compliant with specs. Stress is on "any implementation" here. That document doesn't mention any specific party and doesn't limit the promise to any specific group as far as I can see.
> Microsoft has intentionally worded their licenses to allow them to sue anyone who isn't paying for their software in the future.
Okay, I think I was confusing Mono with Moonlight, which as I see it is not covered by that document. (And Silverlight is an increasingly important piece of the .NET pie.)
Also, given Microsoft's business model and track record, it seems unlikely that .NET is going to hit a steady stable state any time soon, unlike Java which may be stuck at 6 indefinitely. The consequence of this is that Microsoft can break everything, including their promises, anytime they want by bumping the version number and removing the license for the new version. Would it be a good business decision for them? Probably not. But I think this move from Oracle shows that it is a very real possibility, if Microsoft decides they should be taking cues from Oracle (which given Oracle's track record makes a lot of sense, even if this move seems bonkers.)