Después de imprimir un registro sigue marcando lo mismo o va descendiendo? El último valor antes de colgarse está por ese rango?
Si no baja, probablemente hay que buscar otro motivo que la escasez de memoria, aunque muy sobrados no vamos.
Prueba a ver tal y como está el código a ejecutarlo sin conectar la impresora, a ver si se cuelga también, por si pudiera ser algún ruido o caída de tensión provocado por la propia impresora.