Our QA system is a copy of PRD and run times between the 2 have not been too far apart.
However, 7 hours to delete the number of records shown in my original message is horrible.
In the most recent years, we has 2-3M records per year in BALHDR. That would take forever to run.
We have been live since 1999 and never did any archiving until I started the project last year.
I would probably need to implement a hybrid approach too.
I would purge all logs more than x years old and then decide by object type what should be archived versus deleted.