So we do our own internal delta replication between our maintenance and published databases. We use GLOBALID as the key To preserve the GLOBALIDs on the target database we map these to a column called GLOBALID_GUID defined as type GUID. This all works quite well but we have come across a few details lately and so I thought I would document them here since I can't find anything in the ESRI documentation on this.
The issues arise when the source object is a spatial view that we are replicating. In the spatial view, since we can't control the field registration, any GLOBALID column gets defined as a text column. Now there are apparently some rules in the append fieldmapping that has an affect here. Unless your source column is formatted to look like a GUID value you can't append. The source TEXT column must have GUID like formatting with the value such as: '{29198462-0345-4EF2-AD65-0AB8D5B038FE}'. If you are lacking the correct number of characters, parenthesis or hyphens the data will not append. In one of our cases we had a spatial view that hacked a globalid value but used a different unique column without formatting the value.
The table below shows what source data type can be appended to different target data types for GUID and GLOBALID type values.
Source/Destination | GLOBALID | GUID | TEXT | |
GLOBALID | NO | YES | YES | |
GUID | NO | YES | YES | |
TEXT | NO | MAYBE** | YES | |
| | **Text can only be appended to GUID using fieldmap if the data is in GUID format{} with correct number of chars and - |
**we can't use the preserveGlobalID setting as our datasets were created with an older version of ArcGIS and do not have the correct indexes.