Delegation has been used to provide the migration admin role to an account, so that it can be used to run migration sessions, but not change anything else in the project. Delegated account can perform the migration, but when they try to undo the migration, the list of migrated objects is empty. When a user with Full Admin role selects the undo option, list of users is populated.
There are object pairs stored in ADAM, when you migrate or synchronize a new object, new pair is getting created under migration or synchronization node in the database. If you are synchronizing previously migrated objects, synchronization moves the existing object pair from its location under migration session to synchronization branch. As a result when Migration Admin tries to enumerate all the pairs during the undo, they only have access to migration node where some or all objects do not exist anymore.
This behaviour is by design, undoing the migration for such objects will roll them back to the state before migration AND sync, reverting changes done by both processes. Thus if undo needs to be performed, it has to be done by account that has rights for both synchronization and migration.