So if you're doing all this ECM reprogramming stuff, why mess with the speedo gear? Just fix the signal innaccuracy at the ECM. 
I think we are at cross purposes. I'm not trying to fix the speedo, that is close enough for me, I'm designing an entirely new ECU. To measure the vehicle speed I need to know how many pulses per second I will receive from the Vehicle Speed Sensor. So I need to work backwards from how fast the vehicle is travelling to how many pulses per second I will get from the sensor. To replicate the functionality of the stock ECU I need to be able to measure down to 0.9mph. To do this I have to set up a counter - the number of counts that I get between VSS pulses is proportional to vehicle speed.
If the counter is too slow then I might get too few counts to be able to determine speed accurately. If the counter is too fast then it will go past its maximum value and start again.
I hope that makes sense, its 1.36am here and I've had a good few beers
