I got it running stable for several hours. I installed SetCPU on a whim, and it turned out it was set to 1150 MHz by default, while my phone is only stable up to about 950. I set it back to 850 to be safe, and it ran fine. But then it froze while trying a racing game, and hasn't booted completely up since. I think I will just re-install, and then install SetCPU right away.