While running XP, check the Device Manager, Computer, and see if it
says Standard PC or some variation of ACPI.
I had the same problem, so I reinstalled XP (second "repair") and when
the F6 prompt for installing special drivers comes up, press F5
instead. There, you get a list of types of computers, and you can
select the appropriate ACPI computer. Note: after the reinstall, you
will have to renew all the MS updates (there are around 80).
This worked for me to install Vista as an upgrade from XP Pro SP2.