If you're expecting Mono to cover every aspect of the .NET runtime you're missing the point. I look at Mono as an excellent, open source, managed runtime environment and language that also happens to follow the ECMA standards Microsoft released for the .NET CLI and C#.
People expect Mono to be able to run any .NET app under the sun on any platform. That sometimes works, sometimes doesn't depending on the app. It's much more suited developing a new apps that you want to be cross platform.
As other posters pointed out, this is all a mute point anyway. .NET is now open source under MIT license. The Mono team is working closely with Microsoft on merging the two code bases.