I use Mono on a daily basis. It's a mature full featured cross platform .NET implementation.
For example the following either don't exist or are half-baked:
WCF (WsHttpBinding in particular), WWF (entirely which we use for WCF correlation), EF (not a biggy but would be nice), WPF (the best part of .Net), MEF (buggy and missing bits).
If I wanted cross platform, I'd go Java.