Indeed, BigMag - It's not impossible for a company that has their desktops and servers running MS OS's and productivity apps to change to another OS, but it's extremely expensive, and, more telling, it's a move into far more uncertain waters.
The businesses which have not embraced MS are running things like UNIX on midrange computers or huge legacy mainframe environments, many with desktops running terminal emulation software under Windows. The expense of upgrading those systems to the native, user-friendly, desktop-centric environments is hugely expensive.
Those businesses which have been using MS technology should have little problem from a hardware perspective (with the exception of a few devices for which drivers are not currently available but can become so as soon as someone writes them) in migrating to Linux, but the issues of available quality apps, device drivers, legacy data access, and support for each of those aspects of the new systems makes them think thrice about the risk.
A thousand new apps are written for the Windows platform every day which are user-friendly, graphical, amusing, useful, inexpensive, etc. There may be thousands of programmers writing for Linux, but they can't compete with the volume of new work done for Windows. StarOffice and Corel's PerfectOffice suites notwithstanding, there just isn't enough application support for Linux ... yet.
That, plus the reluctance of desktop manufacturers to promote and bundle OS's other than Windows with their machines (due, mostly, I think, to inertia in the production procedures they have had in place forever) will keep MS dominant. At least they are now allowed to, the exclusive agreements that MS has imposed on them for so long now no longer in effect due to the DOJ and court decisions.
The data problem actually may be one of the biggest hurdles as well. Disparate filesystems allow only clunky access (Samba) to data being shared, converted, or interpreted between, say, Linux and Windows, or Linux and Mac OS-X, or AIX-BBx and ...
Cheers, woggie