Ok, workaround was that I flag 'need to be removed' objects and remove them after all collision checks.. so it works ok now.
Not relevant to your current question, but this is a clever trick that would have solved a problem I was having a while ago. I eventually solved that problem by taking advantage of types, using the undocumented Object and Handle commands.