When using an autoinc field, the client uses temporary negative values for new records. When the update is applied, the server replaces these with the actual values assigned by the database engine and these are then returned to the client.
After this process completes, is there any way of obtaining the original, negative value that was originally used? (on the client that is)
not yet, but you can use OnBeforeMergeDelta event and grab old/new values from Delta before changes were merged (client-side)
on server-side you can use OnAfterProcessDeltas event