probabilmente il lettore non è configurato per il tipo di codice che generi.
A me capita trovare lettori che leggono solo 12 cifre e la check la calcolano loro e possono sia mostrarla che nasconderla.
Accertati che il lettore sia configurato correttamente.