If you can get back into safemode, look in Device Mgr for any duplicate or multiple entries for your hardware......click the plus mark in front of each one to display what's showing up.
Since it appears to be hanging on the boot, that's normally when it's running through the hardware check and seeing a problem it can't fix. If deleting the duplicated hardware you might find still doesn't get XP up and running in normal mode, you might try the following two suggestions somebody else passed along to me.
XP WON'T BOOT:
An easy way is to boot with the XP CD into the recovery console and just type: FIXMBR
If you discover that you have a corrupt boot file that prevents XP from booting, use the XP CD and the recovery console and just type in FIXBOOT and it will restore the corrupt boot files.
Last night the power went out while my computer was running and when it came back on it would not boot. It goes to the "Windows XP" screen (the one with the moving bar) but not to the welcome screen. I tried the "last known good config" option but it still stalls. I can get into safe mode but I can't run scan disk to check the file system. Tried msconfig diagnostic start up but still stalls. Even getting to safe mode is somewhat difficult (successful 3 out of 5 times). I tried system restore to a restore point from yesterday but it did not help. Any response is greatly appreciated.
Win XP sp2 (from win 98se --> win xp upgrade --> sp2 update) on an old compaq 5900z.
ATI Radeon All in Wonder
Soundblaster 128 PCI