[...] recently my computer has been restarting at random times. It restarts after a few minutes, after a few hours, when playing games, when doing nothing at all. But usually when playing games
First thought is processor overheating. I had exactly the same problem when I upgraded my current home desktop PC with a new processor. Despite the existing fan being supposedly capable of dealing with the new processor it wasn't. Get a demo version of a system monitor and check out your temperatures. I ended up with round IDE cables and the biggest fan you ever did see but my processor runs at around 40C max now...
My thoughts are perhaps borne out by the number of heat generating components you have installed. Also check the direction of your fans. You need to establish an airflow throughput - in at the front and out at the back or vice versa. Careful cable routeing within the case to minimise airflow disruption.
I would think that a 420W PSU should run all that lot but I note when I just checked the ATI website was that your graphics card requires 300W which gives some pause for thought.... :!:
Insufficient power could also cause these symptoms.When I check under Device Manager and I expand Display Adapters, I see Two Radeon 9800 XT
Could this be as simple as the card identifying two complementary graphics devices, such as VGA and DVI? I don't know the card myself so this is just a theory. If it works okay who cares how the system represents it?
One other cause for random reboots is of course viruses...check your a/v is up to date, make sure you have some kind of firewall - the Windows built in firewall in XP is pretty good. Try Ad-aware from lavasoft.de to check for spyware.
In general the best way to troubleshoot this sort of thing is to strip anything unnecessary from the PC, see if it works and then gradually add in again, one device at a time. Sadly if this is a power consumption issue then this won't prove anything...
If the system is clean, but still crashing the the worst case scenario is that one of the crashes has caused some internal corruption in an important file somewhere but try to rule out everything else before you try to fix something that isn't necessarily broken.
HTH!