Where/when are you seeing this error? Any updates to newly created offline data should be using the record locator/url and etag.
When the sync happens, as the first batch is executed and creates the new object, the SMP server uses the locator url to identify which other pending requests are for the same object and it makes sure that it uses the correct new keys for those transactions.
But this may only work if the keys are empty in the original request...