Sì ... ma quando esegui la strcat e aggiungi dati alla stringa, questa si aspetta che lo spazio ci sia nella stringa ? Quindi ti bastano i 3 caratteri anche se ne aggiungi altri?

E poi ... cosa fanno le funzioni

mpz_init_set_ui(s[i],xx);
mpz_get_str (s_orig, 62, s[i]);

?