And that was because XP was doing stupid things both internally as well as externally - internally in terms of M$ changing things on the fly with relation to the kernel, and externally, in terms of AV companies also changing things with Kernel level code (or access to such code) preventing good upgrades.
In fact, IIRC, XP to other OS upgrade worked best when you took XP and install it as green as the day it was installed the very first time on your machine, *didn't* upggrade (except for SP2) and then performed the upgrade.
Windows 7 - that is a different story - unless you have specific hardware / software blocks, it upgrades perfectly fine.
I have a HP laptop (Tablet PC) that I have upgraded from Vista Business to Builds 7000 - 7077, then I formatted, reinstalled Vista and upgraded directly to RC. Never once had an issue after I removed the driver
for the fingerprint reader and the active secure measures of the onboard TPM module....and both were perfectly installed after the upgrade every time.