I had a system that would randomly reboot. Sometimes it wouldn't completely boot into DOS! Once, I got it to run through the Win95 setup. 30 seconds, 2 hours, it was very flukey! Turned out it was the internal cache. Point is, though your's seems to have more pattern, as mem said, it could be anything...
Try reformatting and reinstalling everything. Assuming that doesn't help, does it do it when just sitting idle, or after working hard? If the latter, it could be your CPU, not necissarily "overheating", but overheating for that particuliar CPU (i.e. it's bad). I would imagine if it was heat, though, it would lock-up some of the time. Try running with the case open, and see if it helps (even if it doesn't completely solve the problem.) Try running with something extremely intensive, like SETI set on high priority, and see if it happens quicker. (SETI is good, because it's not graphics intensive, just CPU and somewhat memory intensive.) Running with the case off and working it hard should give you an idea of what next. If it makes a difference, it's problably heat. If not, problably software. If that's the case, make a note of what you're running when it happens.