Maybe it isn't the timer read at fault.

This version still doesn't count beyond 256, even though iTimer is never
cleared.