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]);
?