Et t'es pas capable de savoir quelles données sont manquantes en faisant ne serait-ce qu'un COUNT(*) sur chacune des tables ?
Bref... http://www.maatkit.org/doc/maatkit.html et plus précisément http://www.maatkit.org/doc/mk-table-checksum.html
Si tu lis bien, l'outil peut même te sortir un diff avec les requetes SQL à réinjecter.
PS: Mon sentiment premier sur ton histoire est un soucis d'encodage qui pourri de ton dump (genre UTF8 d'un côté mais pas de l'autre). Le mieux pour sync 2 serveurs MySQL, ça reste quand même mysqlhotcopy...
Il y a plein de raison qui peuvent foirer un reimport d'un dump. Au hasard les foreign keys, les triggers/prod stock, etc... Une parmi d'autre est le 'max_allowed_packet' de ton mysqldump.
Effectivement le meilleur moyen de synchroniser une base est mysqlhotcopy ou mieux son remplacant du coté de chez perconna : innobackupex et xtrabkup. Sinon une commande relativement safe pour un dump : mysqldump -u root -pXXXXX --add-drop-database --add-drop-table --all-databases --create-options --routines --disable-keys --lock-all-tables
ou : --single-transactions (mais j'ai eu des cas bizarres).