>> I was thinking of issues that can arise if the other developers don't generate the GUID correctly.
If the other developers don't do lots of things correctly you will have issues. I hope you are thinking as hard about those things as you are about this one.
I feel like if they are unable to create a random string, then they will likely be unable to do all the other things you need them to do. Trying to "protect" them by creating a worse solution, and a bunch of problems elsewhere, does not sound like a useful approach to me. But hey, it's your system, do whatever you like.
In which case;
>> Question is, what do I need to do in NetTalk so it gets the GUID value correctly? Not sure if setting PROP:ServerAutoInc would be enough as the docs say that this value is reset every time and ADD is performed.
You would need to inspect all the generated code, templates, and classes, to see how auto-numbering is handled. I'm sure it's do'able. I'm sure it's also a complete waste of your time.
>> Most examples online (How to create a GUID / UUID in JavaScript ?) suggest making GUID of length 32 such as ?550e8400-e29b-11d4-a716-446655440000?.
That's not a length of 32. That's just a display field. The underlying data is 16 bytes long. It's like saying that a date in clarion is 10 bytes long (yyyy/mm/dd) because that's how you _see_ it - which has nothing to do with how it's stored.
>> Can StringTheory's MakeGuid generate 32 bit GUIDs to keep it consistent?
StringTheory's MakeGuid generates a guid 128 bits long. not 32 bit. Feel free to reformat it with a picture to display it in hex format, with hyphens if you like.
I fear you are projecting your own lack of skills onto your fellow programmers. If you specify that the field should contain a 16 byte random string, then that's all you need to do.
If you want a formal specification for the field see
https://www.capesoft.com/docs/NetTalk14/NetTalkApps.Htm#DataSyncDictionaryFieldsCheers
Bruce