Thanks Steve for your further input. I have not had much spare time over the last few weeks to work any further on this as I have started my sprint competitions. Had a win last week without the help of Arduino!
But today I have done a couple of tests:
As per your suggestion I put a time log at the start of the main loop and guess what it is taking 100ms to get round the loop.This is what it looks like on the serial monitor:
time=7535
time=7636
time=7737
time=7837
time=7938
So that is where my problem is.
I also wrote a simple sketch to check the sensor which displays the number of wheel revs on the lcd. I then drove the car at various speeds over the same distance. The wheel revs where the same for each drive. So now I know that the sensor is working correctly.
Now I have to work on modifying the sketch so that the loop takes less than 33ms. I don't think that using >= will work any better as won't it exit the loop as soon as the next pulse is detected?
Thanks again Steve, You have set me on the right path now.
Graham