I have a different approach so this is what I do.
A reference is an external dependency which, if it serves no purpose, should be removed. A reference may not be required but it can still cause a problem if it is MISSING. It boils down to the ability to continue to operate in an unknown and, therefore, unstable environment.
If the environment is stable then there’s not much problem. But a stable environment can become unstable due to a version change, which is what happened here.
If the environment is unstable then all hell can break loose. If the environment is unknown then assume unstable.
Do until all references, which can be removed, are removed.
Make a backup of the original.
Delete the reference in the original.
(Work on the original, not the backup as is often suggested. The reason is that the original may be directory (positional) dependant and the backup may not be in the same directory as the original. Therefore, working on the backup may raise other errors which have nothing to do with references.)
Compile and test.
If all is okay then you are done with this reference.
If all is not okay then reinstate the last backup.
Next reference.
Loop
Done.
Optionally…
Late bind any code and remove the reference it required.
It has become particularly important, again after XP and Access 2003, to remove the reference to DAO. In the vast majority of situations a reference to DAO is not required. The version of DAO is generally not a problem (It can be if the old reference was ‘Microsoft 2.5/3.5 Compatibility Library’) but its location has changed.
Remove any ActiveX controls and replace with an Access native solution.
Until the environment is known to be stable explicitly call libraries in an unambiguous manner.
http://www.trigeminal.com/usenet/usenet026.asp?1033
This would be particularly important with a global error handler. The global error handler may run at any time and that means before the application is known to be stable.
Write code in such a way as to become immune to regional settings.
Write code in such a way as to become immune to natural language versions.
---
It boils down to producing a database, and writing code, as best be can, which is immune to uncontrollable dependencies both internal and external.
Chris.