Think I've got it. I was thrown off because a test I did to see if logged in accountid and people picker accountid were equal wasn't constructed correctly. basically, in our setup, username reports domain/username. people picker accountid doesn't include the domain, so comparing these two doesn't produce a match... and the STOP rule I made didn't work.
For other purposes, I have a field that is stripped of that domain name, so when I compared that to the people picker accountid, I got a match.
So, to stop the error popup, I have to make sure I don't do a query that depends on a people picker value that didn't resolve.
Base condition - I have a a text field set to take the accountID of the people picker. It auto refreshes its value whenever the picker value changes
first rule on that field says if that field (the current accountid from the people picker) = the cleaned account name (no domain) of the username function for the logged in user, STOP. This prevents a query from running based on the non-resolved people picker
subsequent rules go ahead and do the query since the people picker has resolved, and its value no longer equals the logged-in user's value