I'm not sure if we're discussing quite the same problem, but I can tell you that I have to FlushMouse quite often, since MouseZspeed will still be incrementing even when the mouse is outside my window. So as often as I can (screen changes, view mode changes) I do this:
;--------------------------------- Function zFlushMouse() ;--------------------------------- Local mzs# FlushMouse Repeat mzs# = MouseZSpeed() Until mzs# =0 End Function