I'd look through your error logs when you're getting the timed out error. Maybe check the process list and see if you've got any type of CPU spike at that time.

What type of MySQL configuration are you running? Stock, or has it been tweaked and tuned?