As far as WINE and Mono are concerned, I'm just not sure whether these organizations will end up being able to produce satisfactory products. The real problem is this: it is not good enough for WINE to run some Windows apps. If the general public is going to consume it, it must run all Windows apps. Windows 2000/XP has a significant level of POSIX compliancy, but many developers just don?t write their apps with these standards in mind. You'll find pieces of code everywhere in third party apps which run statements like if (WINVER==4.0 && GrokTheBIOSForSomeACPIGoo()), which have not been tested to see whether they will run on non-Windows/x86 platforms. In fact, Microsoft has had to put in significant time and effort to insure that older Win32 applications originally written to run in Win95 will run in NT."
original article is here http://www.osnews.com/story.php?news_id=314