I've been testing this for a short while and it seems that the mouse pointer's state (HidePointer/ShowPointer) doesn't change until there is no mouse input - i.e. MouseHit() and MouseDown(x) are all 0.
Run this code. It reports 0's and 1's as expected.
Graphics3D 800,600
While Not KeyDown(1)
res = MouseDown(2)
DebugLog res
If res = 1
HidePointer
Else
ShowPointer
EndIf
Wend
Now run this code which demonstrates that the mouse pointer state is not changed until the mouse button is released.
Graphics3D 800,600
While Not KeyDown(1)
res = MouseDown(2)
DebugLog res
If res = 1
HidePointer
; Else
; ShowPointer
EndIf
Wend
Tried using FlushMouse in various places and it didn't help. Also tried 'EnableDirectInput True', that didn't help either.
Probably a bug...