You don't need to call unregister with the same dll as you registered with, you just need to know that the dll you are unregistering removes the same classes in its DllUnregisterServer method as the lost dll file did in its DllRegisterServer method.
With this in mind, you should be able to use the dll at the new path to unregister the one at the old path.
Maybe try changing your build process to unregister the dlls before registering them, it will clean up the dangling references to the lost dlls before registering the correct ones and you should be good to go.