Got another remix:
http://scratch.mit.edu/projects/11009331/. In this one I put your original code back but added some trace variables to help understand how the code was working. If you watch the values of the traces, trace1 is not incremented meaning the touch is not detected.
The problem is the length of time for the glide. If you hold the mouse down and move gobo over the ball for 10 seconds, the touch will be detected. So the timer for the glide seems to be a blocking call. That is, nothing else is happening during that 10 second period. Since the glide is reinvoked with each loop iteration, there is a very small window of opportunity for the touch detection to occur.
That was kind of fun (at least for me) and hopefully not too stressful for you.
Alan