DECLARE SHORT GetCursorPos IN user32 STRING @ lpPoint
[out] Pointer to a POINT structure that receives the screen coordinates of the cursor.
If the function succeeds, the return value is nonzero.
This function returns an absolute screen position.
Position the cursor with MOUSE AT , ; where x and y are local coordinates of VFP main window. After that read the cursor position with GetCursorPos function. That gives you a difference between local and global coordinates.
Put = INKEY(0.1) or any other delay between setting and reading the cursor position. It seems that without such delay VFP does not have enough time to inform the OS about mouse cursor repositioning.