Вы можете поддерживать ChangeLog (список идентификаторов записей, которые должны быть синхронизированы с сервером) на стороне клиента (только идентификаторы, а не сама запись).
Затем во время процесса синхронизации убедитесь, что сервер отправляет обратно подтверждение успешной обработки записи.
В случае успеха удалите запись из ChangeLog. Если нет, он остается и будет отправлен повторно во время следующего процесса синхронизации.
Этот протокол используется стандартом SyncML и может применяться к вашему делу.