It is my understanding on using this answer code the ocr is recognizing numbers(0-9) as letters(A-Z).
One possible reason could be that in ocr, 'CharacterSet' is set to 'A:Z'. In this case, the ocr attempts to match each character to only letters.
results = ocr(BW1, roi, 'TextLayout', 'Word','CharacterSet','A':'Z');
Try to use ocr without CharacterSet Name-Value pair argument and check the result.
Hope it helps!