Running the new beta, $onpoly() seems to be 100% correct!
The bad news is: $inpoly() is now causing false positives and giving me points that aren't within the mouse's polygon.
Here's a picture of the issue:
Not sure if this helps, but the checks are in grid coordinates, not picwin surface coordinates, so all these checks happen on points a distance away from the origin [0,0] Which gave me the idea, it's almost as if it happens when the absolute value $abs(x & y) would happen to fall inside the mouse's polygon, as the absolute value would be a mirror of where it's at if you think of the center of the screen being [0,0]. it doesn't seem quite perfect for the answer to what's happening but it's close on getting the error to show, especially following around the right-most side of the larger polygon.