actually the code will hang before one tries so receive data from the mouse. As the Atmega tries to send commands very early on startup the moment for checking a timeout is when it waits for the mouse taking over the CLK line. And you are right. The posted code was pre-pre-pre-alpha so without any error handling and stated as buggy.

Good to know. I may borrow a few mice from work to test them.
Simon