Gary,
Thanks for that information. I haven't encountered that particular problem, but it makes sense. The dynamic library cache contains resolved copies of the various dynamic libraries in the operation system. As a sanity check, the cache remembers the modification date and the inode (nodeID) of each library file. Following a restore, the nodeIDs of the libraries will be different, causing the OS to ignore the version in the cache.
I need to investigate this a little. Given that the files in /var/db/dyld are cache files, it might make sense for QRecall to simply exclude them from the capture and let the OS rebuild them following the restore.
The man page for update_dyld_shared_cache says
This tool is normally only run by Apple's Installer and Software Update, as they are the only official ways for OS dylibs to be updated. But if for some reason you used another mechanism to alter an OS dylib, you should manually run update_dyld_shared_cache.
Restoring a startup volume from a backup would certainly fall into this category, but it's impractical for QRecall to try and run update_dyld_shared_cache tool following a restore.