The first thing I would try to do is to retrieve the logs of the errors via ADB, and/or crash dumps.
Retrieving the logs is tricky, since the log cache gets erased on reboot. If the phone reboots even while sitting on a charger, try running adb logcat
continuously (you will need Android SDK and USB drivers installed and configured on your PC.) When the phone reboots, look at the last several pages in the command prompt window for any errors or abnormalities.
If you can't reproduce the reboots while the phone is hooked up to USB, I suggest installing an app like aLogcat, and setting it up to write logs to the SD Card on an interval. Hopefully you will get lucky and catch the errors that way.
You can also try pulling out the crash dumps via the following commands:
su
cat /proc/last_kmsg > /mnt/sdcard/last_kmsg
This should create a file named "last_kmsg" on your SD Card that contains last few debugging messages from the kernel. Open it with any text editor and see if anything obvious shows up.