This is not based in any code evidence ... it's just a guess of mine. I'm finding a lot of lines in the reserves table where there is no reservedate and no borrowernumber, but the found is still NULL. I'm thinking that when the patron is deleted their holds aren't moved to the old_reserves table or deleted, just their borrowernumber is being NULLed out. If this is the case, I think that the holds should be removed from the reserves table which should be the place for all current holds are stored.