Hello,
I had a problem with my machine always resetting. Took quiet a lot of hair-pulling before I figured out it was a CPU temperature problem.
Some suggestions:
1) Pull out all the fans and clean off the dust from them - including the CPU fan. Same with all the heatsinks. And the power-supply. Sounds like they're doing a lot of work, and even a little dust will act as a nice thick insulation layer.
2) Check your voltages using your BIOS. Compare that with your motherboard specs and see if they are correct. If not, the power-supply may be wonky.
3) Relating to the power-supply: a quick visit to
http://www.jscustompcs.com/power_supply/ shows me that you're probably drawing more than 350 Watts of power with all those components, which may mean you're taxing your 400 watt power-supply (and therefore generating more heat). The flipside is that more fans to cool the case down will result in more power being drawn.
4) Does the computer generate any beeps when you're turning it on? Those BIOS codes tell you quite a lot in terms of what's going wrong. It was because of those codes I was finally able to solve my problems.
5) I feel heat is your issue. Try downloading
http://www.almico.com/speedfan.php and running it to check your temps, fan speeds, etc. It is an EXCELLENT piece of free software.
Good-Luck