A lot of MS popularity is image and legacy inertia.
If Linux could step up tomorrow and offer businesses the ability to painlessly jack up their front ends and change out the MS engines for Linux... a lot would probably do it.
What's really funny about that, is that not even microsoft can make changes from one version of their programs to the next painless. Companies spend millons to keep up wth the constantly changing target that is microsoft. Fortunately for microsoft, there are always MSCEs (Must Consult Someone Experienced) who are more than willing to push whatever line of virus ridden crap microsoft is pushing at the time.