Our "checkreplication" script has managed to find uidvalidity differences between a couple of folders. I'm not sure how they crept in, probably other bugs causing reconstructs with missing index files or something. Anyway...
Reading the sync_client protocol, I notice that do_mailbox_single doesn't actually send the uidvalidity as part of the local mailbox status from the server, so it can't even tell there's a difference. The clients will get very confused though, especially if switching from a higher to a lower uidvalidity after a failover. I'm loathe to push a sync protocol change in since we can fix easily enough by issuing a delete against the mailbox on the replica and re-syncing by hand. It's pretty rare. Still, something to keep in mind next time there's a protocol change. It wouldn't be much work to add. Bron.