The problem is that when you set mouse_spot to a nonzero value, it is not identical anymore with the Windows mouse spot, which is always at the upper left cornder of the pointer image. This means that the Windows mouse position can be already outside the panel when mouse_spot is still inside, and you can't click in that position.

For this reason I suggested to adjust mouse_spot dependent on the move direction. This is a workaround of course, and no real solution. I'll think over an engine fix for this.