Mono is pretty damn complete. The stuff I've found it to be missing are very Windows-centric stuff and wouldn't fit in a Unix environment anyway.
Microsoft is using the same business tactics that they've employed since the PC wars in the 90s, since they hit critical mass of market share, just with a bit more finesse. Microsoft allows Mono's existence only because it feeds into their power play, by creating more dependency and familiarity with .NET. They make the basics open and provide some interoperability, but then lay on proprietary extras that eventually become hard dependencies organically (like WPF) as a function of Microsoft's monopolization of the market ("why wouldn't I use this tool that makes things way easier? it will work great in our environment"). It's all EEE. Microsoft's MO, then and now.
Then all of the sudden, iPads exist. Xamarin is in a killer market.
Regardless of the formal action, the clear message from MS upon release of WPF was: "This is the new official GUI builder, please use it, it should be preferred". Indication of such preferences is relevant. Or do you suggest that MS released WPF with the intention that no one would ever use it?
One of my longer-term goals is to move us to a stack that's entirely Mono-compatible, but that will take a while. The whole company runs on WPF.