as we already have the optimal path, here's some possible solution for driving the car along it: I'll give pseudo-code in D as example:
This way we can follow the optimal path already in our hands and only have to handle left or right turns correctly. Of course a variation of this algorithm would include vectorization information about the path, so we can know how, and when we need to accelerate and brake to make our turns very small and quick. IIRC there are some easy formula to calculate belziers to round corners of vectors. I did something like that when I was trying to deal with .swf format, but I'm too tired to remember. A version of this simpler algorithm is already in CVS (untested and unproved).