Could it be
Parameters.DestName = FName();
that is causing the problem? If you run this method twice won’t the desname be the same? (Not sure if FName() just returns as empty fname?)
If you have 2 non unique overlapping destinations that might cause a problem?
Maybe this has to be
//Parameters.DestName = PackageWorld->GetFName(); as is passing in the name of the new uworld (hence unique)