But that also means new ram, unless I can get lucky enough that the ram I have is on the HCL for the new motherboard, but the odds are quite slim especially with my luck.
RAM doesn't have to be on an HCL to work properly. Just get standard RAM that matches the specs of the motherboard. Crucial, Kingston, and pretty much any other memory reseller will have a memory chooser tool that will tell you exactly what memory goes with your board. I've never had any memory that I've specced this way not work.
Is there some kind of debug mode in Linux that would give me more details on what causes the freezes?
https://wiki.ubuntu.com/Kernel/Debugging
Linux also has the ability to use SysRq key combinations to interact with a system that is otherwise frozen. You can find more detail here:
http://en.wikipedia.org/wiki/Magic_SysRq_key
(On a related note, if the magic SysRq key works, then your problem is unlikely to involve the CPU, RAM, the core components of the mobo, or the PSU.)
What about CPU, can those go bad?
CPUs can go bad, but they are loaded with error-checking circuitry that will generate Machine Check Exceptions if the processor isn't working properly. Linux will typically log these, or at least write them to the console.
At least it will be ECC ram and server grade so it should be more reliable than consumer crap.
ECC only corrects single-bit errors. Crashes caused by memory corruption are usually caused by chip failures, which basic ECC is not going to prevent (although it may be able to detect it as a RAM failure). More advanced ECC techniques like HP's Advanced ECC or IBM's ChipKill can sustain entire chip failures, but systems that can use them are not priced for purchase by mere mortals.
Your log has a huge gap in the middle of it. That can be a hard lock, but this can also happen if your system disk is failing and syslog isn't configured to write anywhere else.
ram: 12GB of ram (I forget exact brand/specs, is there a way to check?)
The 'dmidecode' command will tell you what type of RAM you have installed, among many other things.
I guess should I try a bios update too? That always makes me nervous though because if something goes wrong it could brick the whole motherboard, but I suppose it's worth a shot considering I might end up replacing it anyway.
Any modern BIOS worth a shit will have some type of recovery mechanism in place in case you screw up your BIOS update. That being said, I've never once screwed up a BIOS update, and I've probably done several hundred of them.
I just want a computer that works period.
Maybe you should just get an iPad
Seriously, I'm leaning more toward a storage issue. Storage problems normally don't cause complete hard locks, but if you're running X, it can effectively lock the machine if X stops working and you can't switch to a text console.
I'd advise sending at least kernel logging messages to a remote syslog server, and either disabling your swap file or moving it somewhere else. While these steps won't necessarily prevent malfunctions, they can at least make them easier to identify.
You can also run drive tests using the 'smartctl' command, although I'm not sure how well that utility works with SSDs.