Elimination of Unified Drivers
The HFS process has another cost involved with it. Most hardware vendors have (thankfully) moved to unified driver models instead of the plethora of individual drivers that abounded some years ago (in the bad old days it used to be necessary to identify individual device types and download specific drivers for them, something that was more or less impossible for non-geek users). Since HFS requires unique identification and handling of not just each device type (for example each graphics chip) but each variant of each device type (for example each stepping of each graphics chip) to handle the situation where a problem is found with one variation of a device, it's no longer possible to create one-size-fits-all drivers for an entire range of devices like the current Catalyst/Detonator/ForceWare drivers. Every little variation of every device type out there must now be individually accommodated in custom code in order for the HFS process to be fully effective, resulting in a re-balkanisation of drivers that have only just become available in a clean, unified form in the last few years. This is more a concern for device vendors and driver developers than users, since they don't see any of this artifically-created extra complexity. As far as the user is aware it's still a “unified” driver since the internal re-balkanisation isn't visible in the driver bundle (although the “unified” driver suddenly becomes a lot larger). The indirect cost to the user (longer driver development cycles and higher cost) is mostly hidden from them.
From the provided link of the real cost of Vista...
Absolute Rubbish! in nVidia's case there's a fundamental reason why the driver must be separate for GF8 and GF7 and older. The architecture is different. Unified hardware lets go of the traditional OpenGL rendering pipleline hence the GPU is vastly different in many ways. There is no feasible way in Vista to unify a driver that supports a unified GPU with a discreet vertex/pixel block GPU. In a DX10 context there's no need for feature query in the API for hardware features as it's all assumed to be the same. (uniformity of DX10 bring about it's power) In a DX9 context with a DX9 adapter and driver, that hardware information must be made available for the API , in this case Dx9Ex.
The driver (NV4drv.dll for example) must be able to provide all that information per feature. That is why you will not get unification of such a driver, they will forever be different, because the target API is incompatible with the previous API versions.
This is common sense. So be careful of what you read about Vista and who it's coming from, not all is true. This driver issue for one is suspect, so it make me wonder what else is not true about the article.