Yes, it's the grid processing that kills performance. Regarding purging, our company launched a project last year to determine which tables we needed to purge and whether or not JDE provided purge routines for them. The slowdown we experienced in shipment confirmation was in the Select Multiple Locations program (P42053), which is based on the F41021 (Item Location table). JDE does provide a purge UBE for the F41021 - it is the R4102P.
You can run the R4102P two different ways: 1) purge F4102, F41002, F41021, and F4105 or 2) purge F41021 only. We implemented # 2. As the R4102P does not archive data, I strongly recommend that you copy the entire table(s) that you intend to purge over to a holding database.
We found after the purge, that we had to put some of the records back into the production table. This was largely due to how our company handles things procedurally - we create locations that are used as staging areas until the "real" lot is identified, and we create locations for future use - but there were also some records deleted that we hadn't planned for. Now that we know our exceptions, we plan to script out the re-inserts for the next time we purge.
I can forward our purge documentation to you if you like. We have documents that describe in layman's terms what the R4102P will do based on the different processing options, describe our test plans and their results, and provide a cross reference of applications and reports based on the table(s) to be purged.
Re: your P.S. - Very good idea!