Since we're discussing large numbers of mobile clients: would it be possible to do replication in "batches" from a client (i.e. not immediately) so that server resources are not continuously tied up?
On another project Ive worked on where syncing from mobile clients was involved, we developed a scheme where the server informs the clients at the end of the sync process, which time they should next sync. It allowed us to stagger syncing of large numbers of clients across a 24hr period. -- Aj.