Try going to Device Manager, and for the various devices you find whose Properties contain the "Power Management" tab, UN-CHECK the option on that tab which "allows windows to power off the device to save power".
You might find this on a sound card (e.g. M-audio) or IEEE 1394 controller or LAN network adapter or USB Root Hub device, etc.
In my case, UN-CHECKING this option on my eight USB Root Hub devices did the trick. Windows now shuts down normally.
This could be a Win7 bug, or it might be a BIOS setting that should be changed to be compatible with Win7. But I never had a problem with WinXP Pro... only Win7 Pro.
Anyway, UN-CHECKING for my USB Root Hub devices eliminated the problem for me.