I guess it comes down to understanding the picking, and that it's like a filtering process. So after the 'is overlapping' there is 1 Sprite2 picked from which to further filter. So you need to pick them all again to reset the filtering. I feel I should know this, but it seems that pick by UID only picks from the current SOL, rather from the entire pool of objects (I don't pick by UID very often). I just did a test that shows this. (i.e. you CAN pick by UID right after another pick event, as long as the picked objects contain the one you want to pick by UID). I'll be interested to see what Ashley says.
But I agree the manual is a bit scant in some areas...
Re global variables, I'm not sure why people are so reticent to create variables... But I agree reduce globals wherever possible, which is why I created a local.