Total cross-platform is a pipe dream. Just like Java or more recently HTML5/JS cross-platform mobile apps, they are almost always a half-baked solution compared to proper native OS apps. The UX and performance will never be consistent enough to make it better than just investing in native development (Note I'm talking about software, not simple content consumption apps where HTML5 in browser is fine).
Having primary operating system -> tablet -> phone is a good enough goal. They should focus 100% and make it as stable ass possible.
Nobody is truly advocating "write once, run anywhere".
I mean look at something like Origin or the Battle.net desktop app.
Now from a business persperctive would it make sense? i dont know,Microsoft business relies heavily on Windows. But hey,anything's possible.
Problem with mono is ,mono or not,.net dev without VS kind of sucks,and VS is Windows bound.