The result of a pick condition like 'is overlapping' is not a true or false flag, the result is a list of objects, populated or empty.
Let's agree to differ on this point and see what Ashley says. I am pretty certain that if the SOL is not empty then the condition should behave as if it was true. This is why, in fact, in my second example above (line 6: Else, Cursor is over Sprite) the condition is true and the variable changes to 1 whenever the mouse is over the sprite (ie the SOL is not empty).
Additionally, your analysis does not explain any of the nuances of this bug (ie the order of the conditions in the OR block makes a difference as well).