Edward,
I think the problem is that you might run out of records to delete from the latter tables, maybe the process should start with the tables ordered by the number of records to delete to minimize this.
Ex. (r records and d records to delete)
T1: 500r 30d
T2: 100r 10d
T3: 111r 3d && You might already run out of duplicates to delete from this table
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges