That's funny.
The cause is that a "signed byte" can store numbers from -128 to 127. If you try to add to a number greater than 127, it'll wrap around to -128, -127 etc. If the game displayed 0, I guess they had some code to protect against displaying negative numbers.
I don't know why they didn't use an unsigned byte (0-255)!