We have been investigating moving from On-prem to Online, so I set up an instance a while back, and imported first our solutions, then our data. Since we only had a handful of licenses for this testing period, and we also have a number of disabled users who own records, I investigated how to bring all of these non-licensed users into the system just for this record tracking type of purpose (i.e. not needing to log in, in most cases). I saw some posts on here about using the Config Migration Tool for this, which seemed easy enough since I had to use it for other things anyway.
So I brought everything into our Dev environment, and did a lot of testing, code updating, etc... Got everything working the way we'd expect, and went to bring in larger portions of test data. However, any records that reference any of these imported users were giving the error "Access to Microsoft Dynamics 365 has not yet been fully configured for this user. The user needs at least one security role before you can continue". I'm not able to assign the role while they're disabled. Since at this point we've decided to move ahead with Online, I got some more licenses, and I tried to assign one to one of these users. They did not enable. I opened a ticket with Microsoft, who pointed out that the user names were in the on-premise format (<domain>\<username>) rather than the email address format.
I changed this for a couple of users, re-assigned the licenses, and they worked fine. However, every other user I've tried this with other than the first two will not allow me to change the user name. I get a Duplicate Record error, even though there is no other user with that user name. I even tried complete garbage user names that for sure have never been in any of our systems, and still the Duplicate error. I went back to MS, but it's been a couple of weeks now and they haven't been able to solve the issue. They've confirm there isn't a duplicate, but don't know why it's saying there is.
I'm losing time on this migration and having to deal with parallel development while trying to resolve this. I very much do not want to start over on Online, since it was a lot of work and testing to get the environment running correctly. Anyone else have any ideas of how I might be able to fix this?