lol OMG classic programming error - obviously using an unsigned int to represent the count instead of a signed one (so when the count goes less that zero instead of saying that it wraps round to the highest number).
unsigned_____hex_______signed
4294967295 = 0xffffffff or -1
4294967294 = 0xfffffffe or -2
4294967293 = 0xfffffffd or -3
4294967292 = 0xfffffffc or -4
4294967291 = 0xfffffffb or -5
Its probably got a check in the code as well like;
if ( count < 0 ) count = 0;
But, again, because its unsigned its never actually less than zero

nice