If the poster is paranoid about the future then Mono isn't a good choice. Microsoft could easily revoke their license agreements and sue everyone for patent infringement.
That could happen with any language, as Oracle's (mostly failed, I might add) suit against Google over Java proves. Even for languages that were completely and fully OSS-developed, there's a near certainty their implementations are violating some patent or other that someone could come out of the woodwork and start suing over.
The Mono situation is actually pretty ideal practically, because much of what would be patented is known and not submarine patents, and it would be far harder than you suggest for Microsoft to start suing over that stuff after issuing their legally binding patent promise.
The probability of it happening with C# is much, much higher.
It's a given that Objective-C is entirely within Apple's domain and C# is within Microsoft's just as Java is now Oracle's. These languages are not independent of the organizations involved.
Other more standard-based languages, which has traditionally included things like C, C++, JavaScript and now Ruby are less likely to be disrupted because of shared ownership.
I'm worried about all the people chugging C# Kool-Aid when Microsoft wasn't the least bit concerned about taking SilverLight back out behind the barn...
I don't really think there's too much risk of Microsoft taking C#/CLI (particularly non-classic Asp* stuff) behind the barn and killing it. It's both a bad move considering how many of the successful cornerstones of their business run on it or use it extensively (SharePoint, Reporting Services, BizTalk, OWA, Powershell etc), and would be breaking from a tradition of supporting existing versions of everything for far longer than is useful.
Silverlight could only be killed like it was because it's on the client. Classic ASP, a 15 year old technology, still runs easily on IIS 8 / Windows 8. Yes, Microsoft could kill CLI on the desktop and stop distributing .net frameworks (or by removing the desktop mode from Windows 9 and removing .NET support from metro etc), but it's almost as safe a bet as there is that you'll be able to use it on the server for at least the next decade.