Like others say, I'd reinstall Windows before upgrading the system. It takes a long time, but you don't have to be there constantly. This is the sort of thing that you can do while doing other stuff around the house. That way, you don't waste an hour watching it install (with tiresome messages telling you how great Windows is), but you are around when it does need help (entering that wretched key code number).
Before reinstalling make sure you have a complete backup of all important files (washer photos, bookmarks, etc). (Obviously you don't need system software, since you'll be reinstalling all that!) Maybe 2 complete backups.
One advanced tip here: some users have a special partition on the disk or have a separate disk to hold their documents, photos, videos, etc. By keeping it separate, it should survive reinstalling Windows every time. (Although having a backup is still a good idea.)
It might be hard easily updating--I'm not sure the "automatic update" will work on a fresh install of 2004 XP. You might have to download full Service Packs and install them first. As far as I know, once that's done, the machine should update properly.
A new hard drive might make sense. They have limited life--in my experience, modern drives don't last as long as they used to. (But what does?) However, being fair, I don't upgrade hard drives unless I absolutely have to--but in my situation, OS installation is faster than Windows.
Finally, I agree with Allen that upgrading the OS comes later. In fact, for getting speed, upgrading the OS is probably the worst thing you can do. More often than not, I've found software upgrades run slower than previous software.