There have been many discussions about the EVO rebooting under various circumstances. I have experienced this multiple times on my EVO as well (hardware version 3). It appears that I've resolved 2 of the conditions that have caused these reboots.
In the first condition, my phone would reboot every time I'd turn off and exit my Toyota Venza. Obviously this is a bluetooth issue. However, since it used to work without a problem, it can't be solely a hardware issue. The fix for this turned out to be fairly well publicized by Vlingo. While the problem is associated with the use of Vlingo, it appears it isn't caused by Vlingo. Vlingo brings out a flaw in Android 2.2 which is documented by Google and appears to be have been fixed in Android v2.2.1, which of course we don't have on the EVO. In Vlingo, under the Advanced Settings, there is an option to "listen over bluetooth." If this option is checked, my EVO will reboot every single time I turn my Toyota Venza off and the phone disconnects from the Toyota bluetooth. Every time. If you turn off this setting in Vlingo, the problem goes away.
The second condition appeared much more randomly but over time I figured out a pattern. While driving, if I received a call that I answered over bluetooth, at some point into the conversation the phone would immediately reboot. It wasn't immediately, as I could regularly complete short phone calls without issue. The reboot would occur several minutes into the phone call. However, on some occasions, I could carry on long conversations without it rebooting also. Over time, I determined that I had to be running Google Navigation in order to experience the reboot problem. I don't think this is related to the Google Navigation software, but rather, I'd guess it is related to the use of the GPS itself. Once I suspected that, I could reproduce that every time I was using the GPS and received a call over bluetooth, several minutes into the call the phone would reboot. This one was a little tougher to solve.
There is a great app for Android called Tasker. I have no connection to app at all other than being a satisfied customer. Tasker lets you do some amazing customization and "macros" on your phone. To solve the reboot problem above, I used Tasker and did the following. I monitored the offhook status of the phone. When the phone goes offhook, I disable the GPS and close Google Navigation. When the phone offhook condition clears, I then restart the GPS and open Google Navigation. Google Navigation picks up where I left off. Since I've set this up in Tasker, I've had no reboots at all.
Perhaps someone at Sprint, HTC or Google can use this to get this reboot problem solved.