Yes, the mouse only registers 1/4 of the pixel size, in the top-left-hand corner of it. If you click in the middle or beyond that pixel, it plots the incorrect next one.
As for hanging on an infinite loop. I had this problem in S2 years ago. Simply check to see if a loop is iterated 1000 times or more. If so, exit out saying "Infinite Loop Detected."
Also as it is 4BOD a good name would be "Forbode." And yes it is rather forboding to code in.