But don't only develop on Mono. It is never good to rely on one language/framework.
I said one language/framework, that does not refer to mono. If I said a instead of one you would have a point. Even if I said a that doesn't really refer to mono, but then the sentence would refer to all languages/framework.
But perhaps, I should have been more clear.
Now the other points.
If a nuke hit redmond and every MS office, machines running .NET would be safe, just as machines running windows. It won't magically stop working. However it has no future. It doesn't matter that there are open source implementations. Other then MS, mono is the only practical one and there the issue arises:
The work of hundreds of paid employees will not be at Xamarin. Many parts of MS .NET will never be included in Mono since they don't make sense and the developers have no intention of porting it.
Mono would keep .NET alive if MS vanished, it would be much, much worse if .NET vanished and mono did not exist either. But it still is not better then Qt in this scenario.
Why Qt has a very solid future:
First Digia is not the only vendor. There are companies build around Qt like ICS, and KDAB. There are vendors besides Digia.
Digia will never kill off Qt. It's a really huge product for them. Digia would have to go bankrupt, or sell of Qt. They won't discontinue. So many bigs companies are invested in and use Qt. There are legal obligations Digia must fulfill.
Qt is open source while .NET isn't. Mono must reverse engineer Microsoft's .NET, the official implementation. While Qt's official implementation is open source and high documented.
Why would Qt have an alternative implementation? Qt isn't a language. It's like reimplementing a library. No damn point.
Another reason Qt has a good future: KDE.
KDE has a legal agreement that Qt must remain open source and that there must be a major release at least once a year, or else KDE gains access to a BSD licensed version of Qt.
Qt is open source, has other vendors, well documented, is TRULY cross platform, and has many multinational billion dollar companies invested in it.
Qt has more platforms (except in mobile, they are only now adding iOS and android support).
Qt works on Windows, Mac, Linux, BSD (unofficial?), QNX, VxWorks, embedded linux, and Windows CE. I think it works on some Unix flavors too.
In relaity, both Qt and .NET have a very solid future ahead.