My next step would be to run the archive program with a small sample set of data and set a breakpoint at the SELECT statement from MKPF and evaluate the dynamic WHERE clause that was built.
There are also 2 BADIs that are used in the program:
ARC_MM_MATBEL_CHECK - This BADI allows you to program custom archiability
Check if this was previously implemented and if anything was coded there.
There is another BADI used ARC_MM_MATBEL_WRITE which allows custom information to be written to the archive file. I do not think that any code that may exist here will be causing documents to NOT be archived.
Hope this helps.
Mike Arnold