Just as a simple test, I did this
[blue][tt]
Private Sub DBGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If LastMove <> "UP" Then Debug.Print "MouseDown", X, Y, LastMove
LastMove = "DOWN"
End Sub
Private Sub DBGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If LastMove <> "DOWN" Then Debug.Print "MouseUp", X, Y, LastMove
LastMove = "UP"
End Sub
[/tt][/blue]
and discovered that by rapid clicks I can cause it to miss MouseDown events. MouseUp always seems to occur. At slower click rates or with single clicks I get both events. I'm wondering if there's a buffering problem where Windows is capturing the mouse click but can't pass it back to VB as fast as I can click the mouse.