Bem, eu fiz isso com o rsync e devo dizer que funcionou bem.
Ele transfere tão poucos dados que eu consegui reduzir a frequência de atualização para 20 segundos em uma conexão discada estreita (um terço da freqüência anterior que usamos com banda larga!).
Atualizar um XML de 800kb agora leva 5kb de download + 800 bytes de upload!
Verificar versões quando não há alterações na atualização leva menos 500 bytes de download + 100 bytes de upload! (Eu transfiro mais bytes digitando em uma sessão de chat regular!)
Muito melhor que outras soluções de diferenças, e não precisei programar nada em torno dele. (anteriormente pensamos em adicionar um mecanismo de push para iniciar o rsync, mas ainda não precisamos dele. 20 segundos são aceitáveis e a pesquisa é muito leve.)
Caminho a percorrer, rsync!
PS: Eu não tentei o Git, e provavelmente teria sido uma boa solução também.