Get rid of client-side transaction handling: clients should not be able to tell the server how it should do database transactions.
The only place where this was /actually/ used were the ItemSync and the CollectionSync: the best course of action is to move the core logic of those into the Server, which can then do transactions any way it likes.