I thought there'd be a whole system to deal with the bad files, by now, but my attention shifted to understanding ESRI datasets. Spot checks on the copied data indicated that there were a fair number of datasets used, and they weren't copied over. The topic seems to be involved, and there's a lot to read.
Datasets are basically databases. They're referenced indirectly, via a driver of some kind, and the driver, rather than the app, manages the data files. I suspect there's going to be a serious problem with these, because I was unable to navigate to a missing dataset via the UI. I'd click on the "Set Datasource" button, and a dialog would pop up, but clicking around the interface never seemed to bring up any data.
Chances are, data sources need to be mounted at the workstation before I can navigate to them.
Despite this little problem, I found that searching for the data file, via the Windows Explorer's F3 key, and then copying the contents of the folder that contained the data file, fixed the problem of missing data. So the driver accesses data files, even if the user cannot (or if the user doesn't know how.)
If I can find out the name of a dataset, it might be feasible to search for it and move it over automatically.
This then will take us to the issue of making MXD Mover pluggable, so it can be used for this different task. I won't write about that until it's been done.