Yes, either Row or Column or both could return -1. You need to test for that. Not doing so would be a bug in your code, and lead to a crash. But you know that now.
Crash in the debugger with the “offending” line highlighted. I ran the project a whole day or so until I resolve the issue (partially with an on err… stuff, then adding a check for -1).
Not in the docs and new to me (or I totally forgot about it).
Row could certainly be -1 if the user clicks in the header of the Listbox. Column would be -1 if the user managed to click on the left or right border of the control as well.