Are you really going through 7M records in the database a week? Or have you had to rebuild the file and run DXSYNCTABLES on it to re-sync everything?
Our DXUtil tool (www.goldstarsoftware.com/tools.asp) allows for a manual purging of the PDC obituaries (DXUTIL -PURGE) directly from the Btrieve level, which is typically faster and contains much less overhead. At this time, though, it deletes ALL obituary records, meaning that it should ONLY be used when you know that the records are in sync between the two sites.
Of course, users deleting records as the purge is running may have their obituaries cleaned out, too, resulting in some data NOT being synchronized correctly, so this should be done during a period of no activity (if possible). If not, then DXSYNCTABLES afterwards can clean it up after the fact.
If you need a real "cleanup replacement", then let me know and we can investigate the possibility of adding a datestamp cutoff as well.