I posted another question to the community to see if anyone else has seen the issue. I did not reach out to support directly. Admittedly I never watched your full video, but I think what I had been doing was similar (copy the foreign key and primary keys to another GUID and then match them back up after the append).
I wasn't ever able to get the GUID type to work, but I was able to copy the primary and foreign keys to string and match them up with a basic script I had written before I knew about your tutorial:
import arcpy
import os
class CustomCancelException(Exception):
pass
def my_function(post_layer, sign_layer):
edit_started = False
try:
with arcpy.da.SearchCursor(post_layer, ["GLOBALID", "preserve_guid"]) as scur:
key_map = {}
for srow in scur:
key_map[srow[1]] = srow[0]
with arcpy.da.UpdateCursor(sign_layer, ["parentfk", "preserve_guid"]) as ucur:
for urow in ucur:
new_fk = key_map.get(urow[1], None)
urow[0] = new_fk
ucur.updateRow(urow)
except CustomCancelException as err:
arcpy.AddError(err)
finally:
if __name__ == '__main__':
post_layer = arcpy.GetParameter(0)
sign_layer = arcpy.GetParameter(1)
my_function(post_layer, sign_layer)
The quotations aren't preserving indentation, but that's the general idea. I never tried copying from a string into a GUID because I thought that wouldn't work and I already had this script.