You're really seeing the bad in everything.
You do need wpf to share "everything", viewmodels aren't everything, views are pretty complex once you go past "simple controls" that are os specific and seem to be your core issue. In some of my application most of the code is in XAML by far, sharing just the viewmodel isn't much of a saving.
The web was deigned to be cross Platform, but it wasn't designed to be "native on mac or native on linux or native on Windows". So WPF wouldn't do any worse there.
They get nothing OUT OF THE NON PORTED APPLICATION. Not everything is about random applications of which there are a dozen, there are plenty of custom company applications for which you don't chose, it's custom, there is one, and if it isn't multiplatform you don't get it period. Once again you're countering the use based on a very narrow view (on cases where , yes , wpf doesn't make sense). I'm not argueing on those, i'm saying you're missing the plenty of use cases where it doesn't apply. For example in the last company i was in, we settled on WPF, mac users just didn't get the app, it was deemed a good tradeoff as we had < 5% mac users, i do think they'd rather have gotten something that "kinda didn't feel perfectly native" instead of well, once again, nothing.
You keep bringin mac up, this isn't a mac forum, the discussion is global and with the ton of UI on linux there hardly is a linux look and feel for example, WPF would work fine there, as well as on IOS and android and Windows phone, all at no cost if it was ported.
I do know a lot of mac users, and in a company when you have a custom program you need to use, you use it period, no one cares if you like it, so mac users are happiER using a wpf ported application, than having to dual boot into Windows to use the exact same application for sure.
My 6 month estimate (if you read well), didn't include any porting, simply abstracting the OS part from it, it would still require per os testing / bug fixing etc, it was 6 month just to untie it from win32 / directx, that can be done on Windows and doesn't require a mac, beside buying a mac isn't exactly a big issue / cheap to test (but i wouldn't, i have no particular interest in mac atm and while i would love to make WPF a portable Platform i wouldn't contribute to the mac part personally). I'm not sure what you mean about "the visual studio and blend team to throw in support for designing UIs with theme switching", you can already switch themes at runtime, what's the issue?
They wouldn't need to support it, this could be a community port, beside Microsoft always cared about multiplatform ability (deciding to release and maintain it is a separate issue) as they themselves expand to other platforms (phone, consoles etc). Having the rendering abstracted could be an upside. You're barely abandoning anything too, you don't redo the composition / input, just the rendering and the very low level input, all of the eventing system feeding the input stays as well as the composition. The actual code monkey work is likely, very tiny in comparison to the whole system.