Batching in Sync Framework is actually more for controlling the memory footprint when transmitting changes to the destination. If you have 10mb worth of changes and you specified 1mb batches, it serializes the changes in 1mb batches.
These batches are spooled on the destination and applied. However, all batches are applied in a single transaction, so even if 5/10 batches has been applied already, it has not been committed.
The resume capability is in the change enumeration, not change application. Assuming 5/10 batch has been sent already, then it will resume sending the remaining 5, but the 10 batches will still belong to a single transaction.