A system is to have an ASP.Net MVC back-end. Part of the UI will be simple HTML5 + JavaScript.
There is another part that will be a thin client. The goal is to have it natively implemented for the several most popular consumer platforms - Windows, OSX, iOS, Android and possibly WP7. (and why not Windows 8 Metro App?)
What is the best choice of development tool to use for this purpose?
The two that come in mind are:
Am I missing a good alternative? Am I missing some caveats and hidden traps?
What would be the most 'future-proof' framework? Are there any examples of other people doing this very concrete scenario?
That's a lot of questions and I won't try to answer all of them. There are already several similar (and good) questions and answers on the those subjects here in stackoverflow. I suggest you to look at the most popular questions in each tag and you're likely to find opinions (best choice), alternatives, caveats...
Here's one (less recent): Targeting/Developing for multiple mobile platforms with one programming language (C#)? Cost-Benefit?
Now specifically about:
Mono + MonoTouch + MonoDroid. Code in C#, user interface in... what?
With that approach you can get the real native UI on each platform and user experience on each of them. This might look like a lot of work (and it could be depending on your application) but it does not have to be (again a lot of code can be shared, same MVC pattern). See this answer from a customer case.
Disclaimer: I work for Xamarin (maker of both MonoTouch and Mono for Android)