Here's another vote for doing the second hard drive thing. Even if you can find a cheaper smaller drive than your existing, you'll be able to back up and then us it as a secondary drive once you've finished reformatting/reinstalling. One word of advice, if you go this route, make sure you do not boot up and install back to the old drive while the new drive is attached. I did this recently and found that the boot drive was assiged to f: instead of c:. Since it's the boot drive, you cannot change the letter, which leaves you with one remedy.....reformat and reinstall....again.

As far as your problem goes, I cannot speak too much to SP2, as I have not upgraded. I will say that it is alarming that you are not getting to the splash screen. I'm not super well-versed on the boot process, but it sounds like this may not be a simple windows thing. You may have to get advice from a stronger geek than me, but you may have a problem w/ your drive boot sector or even worse, your BIOS....not sure.

Here's a guide that I found that shows you the boot sequence of a PC. You may want to follow along w/ it and see where in the sequence you think your PC is dying. Hopefully, you don't have one of those PC that covers all this up w/ their damn company name splash screens (big pet peeve).

I recently had an issue where my computer would continue to hand at the XP splash screen. I repaired the boot sector, the master boot record, and replaced the Windows boot files and still could not get it to boot successfully. After talking to the IT guys at work, they informed me that it sounds like a bad boot sector on the drive. They said that it can be fixed, but they strongly suggested that I consider replacing the drive and shifting that one to a secondary drive, because drives w/ bad sectors continue to develop bad sectors once they've started.

So, went down to BB and found a 80GB WD hard drive for $30 after rebates and I'm good to go.

Hope I've not convoluted the issue. Just want to make sure you don't spin the wheels on fixing Windows if your issue is happening prior to boot.

Good Luck