I noticed several things.
1.It appears that moving the cursor with 'mouse:set_cursor_pos' leads to calling the 'mouse:on_move' event. Not sure if this is a good idea. Probably not.
2.'mouse:on_move' doesn't register changes in cursor position when the cursor reaches the edge of the screen. Now this seems like an expected behavior however it could lead to problems if you try implementing your own cursor or when using 'mouse:hide_cursor'. I think the best solution would be to go into 'exclusive' mode or whatever when the user calls 'hide_cursor" so that the hidden cursor cannot leave the game window.