The findings that Microsoft want to publisise are that overall TCO is lower for MS servers than Linux servers for all but web serving.
They probably don't want you to look too closely at the comments on downtime which favour Linux, nor the comments that one generally needs many more Windows machines than Linux machines for a given task.
What tips the balance so heavily in Microsoft's favour is entirely staffing and training costs. In my experience, this is fair. Linux and Unix admins are proud of the fact that they're more skilled than the average Windows admin. They expect a real admin to be able to write shell scripts, Perl or whatever to handle a task. Derogatory terms like "monkey" are often applied to Windows admins as a group.
A complaint I often see from *nix people who have to deal with Windows is that if it can't do a job, there's no way of making it do that job. They're used to being able to find a way, even if it takes a week patching the application source and writing Perl to do so. Microsoft either does the job or can't do it. If you consider that IDC only compared things that both Windows and Linux could both do, it seems less surprising that the skill level needed (and hence cost of staff) for Windows may be lower.
I suppose some of the other factors are supply-and-demand has meant for the past 5 years or so there've been more Windows admin jobs around than *nix. To become a *nix admin required somebody who was interested and self-motivated, doing it because they enjoyed using that sort of system. There are fewer of them, and they're more skilled on average, so they enjoy a higher salary. This isn't to say that highly skilled Windows administrators don't exist, however, it doesn't take an MCSE to set up file sharing.
IDC say they expect the TCO of Linux to drop over the next few years. I think they're right, and I also think this will mean a cultural change about the use of Linux in business. We'll have to get used to the idea that just because it looks like Unix it doesn't mean that the admin should be a skilled systems programmer.
It's coming. I already use the Redhat GUI tools to configure things like CUPS printing, because it's easier than working with a manual and a hideous XML config file format for a task I only need to do once in a blue moon. (Actually, the fact that it's XML suggests to me that it's been designed more for machine than human parsing).
The IDC report pretty much shows that in many ways Linux is a better server platform; but that doesn't matter to business if it costs too much to run.