Делаем достаточно просто. Локальная структура хранит два идентификатора, один полностью локальный, другой - тот ид что пришел с сервера после создания.
Механизм такой: сделали что-то, есть подключение к инету? 
  ДА - отправляем на сервер - получили успешный ответ?  
         да  - добавили в локальную базу с id который пришел с сервера.
         нет - пишем в чем ошибка в лог, извиняемся перед пользователем (хотя схема другая,обычно все ок, и не ок только если сервер упал)
  НЕТ - пишем в локальную базу, с пустым сервер ID
появляется подключение к сети 
 - отправляем порциями локальные объекты (если они до появления инета не были удалены) для получения нужных сервер ID
 - запрашиваем список удаленных с сервера (авось под этой учеткой на другом устройстве чтото удалили) удаляем локальные объекты
UPD:  может кто не догадается сразу, мало ли. Как только сервер получает данные, он сообщает по сокету всем пользователям которые онлайн и находятся в какой то связи с контентом пользователя что его делал