I disagree (rant)
There are several things stopping M$:
Incompatible code.
When you compile application code, it not only gets compiled into Assembly code, it gets compiled into Assembly code that only works in a paticular OS (because different OSes use different drivers, different event handling, different memory management, etc, etc). Therefore, anything compiled for Linux won't run under Windows, and vice versa.
User base
To get users, you need programs. To get programs, you need a user base. Just try to run Win32 apps under Linux with wine, and you'll be sorely disappointed. I always set up wine so that it uses my actual Windows DLL's whenever possible, so it's not like I'm using entirely rewritten code. A few of them work part of the time and the rest explode in your face. Or don't even load. So all Windows programs would have to be rewritten and recompiled for Linux to avoid costly emulation of Win32 API's. Yikes! The API's of Windows and Linux are
completely different.
The GPL (GNU Public License)
Like the above post stated, the GPL (
http://www.linux.org/info/gnu.html ) covers Linux. And the GPL states that you must make the source freely available for any program that is "derived" from something covered in the GPL. Basically, inside of companies they reuse code libraries so that they don't have to rewrite the same code ten times. If a code library gets covered by being covered in one app,
all the other apps that use are now covered. If Office reuses some of the code libraries in Windows (for anything, like file browsing, etc), it now is covered... and the source has to be made
freely available.
Programming effort
That is one massive programming project you claiming M$ would do. The entire rewrite of Windows, Office, IE, WMP, etc, for an entirely incompatible OS? M$ can't even program for their OWN OS, do you think they could port to an entirely different OS? UNIX and Windows have nothing in common.
In short, I never think M$ would try that. It'd never work.