Puedes implementar un simple try except y un timer que se ejecute cierto tiempo, por ejemplo:
Código Delphi
[-]try
GuardarDatosEnServidor();
UnTimer.enabled := false;
except
UnTimer.enabled := true;
end;
procedure UnTimer.OnTimerTick(sender.....) begin
GuardarDatosEnServidor();
end;