If any of those reboots and issues you have come from any ICS ROM then this is normal. ICS ROMS will do that to your phone, its not your phone its the ROM. I dont think theres a fix for it if not then itd be implemented already - thats just my guess. It doesnt matter if you underclock or overclock- ICS somtimes gets stuck and will reboot.
Just because some people use ICS as a daily ROM it doesnt mean its
the choice for a daily, because its not.
(yet) but im one of those that
puts up with reboots, freezes and what not so that i can have ICS
. I really dont mind all of that, I like ICS