...I have no problems with it until after 2 hours of game play on any of my games.
Shadow, have you run perfmon in the background during a game? This might show you what part of your system is maxing out to cause the crash. Since your crash is reliably timed, and is not a corrupt file (if saves work for another two hours) then it sounds like either your memory is hitting its limit, or a system routine firing up because Vista thinks the system is Idle. Perfmon should tell you if its the RAM, but since it uses some memory itself it will probably take less than two hours to CTD. Do you hear the Vista "Ping" at the time of crash?
For those that don't know Perfmon, you can run it from the Start->Run and then type "perfmon" (no extension necessary). You can also access it from the Task Manager and click the button in the bottom right of the screen (then close Task Manager since it can block the whole screen). The graphs are pretty self explanatory.