Thats odd... it seemed on our robot to count all teeth on the sprocket even at full speed! ....
remember the sensor needs to be fairly stable ... you guys aren't just holding it near the teeth to test or anything like that right? (cuz we tried that

!)
try running some code that will stop the motors after the count reaches a certain number (like the 2Xnumber of teeth on the sprocket...) at full speed the motors will of course not stop in time... but you can see how many extra revolutions the sprocket made.... and then see if its ballpark with in the count value....
are you printf the count value? also keep the sensor about 10-15 mm away from the SPROCKET (with gears its different) try different things till it works...