acGetMouseCursorType() returns the mouse cursor type at the time that acGetMouseCursorType() is called. S+ doesn't keep track of what the mouse cursor was at different points in time, it would be very difficult to properly manage and a waste of resources.
Alternatively, you could do something like:acConsumePhysicalInput(1) --prevent arbitrary physical mouse movements from interrupting the process
acMouseMove(gsx, gsy) --move mouse to gesture start
acDelay(10) --allow some time for things to process
local sCursorType = acGetMouseCursorType() --get the cursor
acDelay(10)
acMouseMove(gex, gey) -- move the mouse back to where the gesture ended
acConsumePhysicalInput(0) --allow physical input again
if sCursorType == "HAND" then
acMessageBox(sCursorType, "Cursor Was HAND", nil)
end