Once I've been running for awhile, it tends to keep going without freezing
That makes a difference how you troubleshoot this, possibly your fault is temperature related. Diagnosing intermittent temperature related problems can be painful and a lot of people instead resort to module swapping which for you could mean costly trial and error.
In simple terms here's my usual approach to this type of fault, I hope it helps you:
Reduce the system to an absolute bare minimum both in terms of hardware and software and be able to reproduce the fault - I think you have done some/all of this already.
Make sure first of all it's not a mechanical problem (possibly a microscopically small bad component connection) by tapping the system board/HDD etc. with a screwdriver handle. See if you can introduce the fault this way and while using common sense where you 'tap' don't be shy
![](/images/icons/wink.gif)
Wiggle cables too plus anything else that's connected.
Moving on....
Use a hair dryer with a home made 'funnel' to give a narrow (more specific) hot air stream or some other heat source and with the aid of a piece of card (as a heat shield) warm isolated parts of the system and note the effect. Similiarly, using a can of freezer spray (available from electronics shops) chill parts of the system and note the effect.
Hopefully you will see a failure pattern emerge and begin to narrow down where the problem lies. What is vital is that you demonstrate to yourself a good degree of repeatability of fault present / fault not present before you can be certain of your findings.