I'm curious -- what's the problem with the script I suggested? It works for me, and doesn't suffer from any of the problems of Razor's method.

In fact, I can simplify implementation even further by making it into a function. Just insert this code into the first frame of your main timeline:

Code:
function getFrame (x,y,div) {
 var diffx = x - _root._xmouse;
 var diffy = y - _root._ymouse;
 var divAngle = 360/(div*2);
 var a=((Math.atan (diffy/diffx)) * (180/Math.PI)) + 90;
 if (diffx >= 0) {
  a+=180;
 }
 var frameNum = math.floor(((math.floor(a/divAngle) + 1)%(div*2))/2)+1;
 return frameNum;
}
Now to implement it, all you need to do is put this code into the car movie clip's object actions:

Code:
onClipEvent (enterFrame) {
    this.gotoAndStop(_root.getFrame(_x,_y,8));
}
You don't need to worry how the function works, just as long as you send it the correct values. The first two values sent to the function are the x and y coordinates of the car (you don't need to change these), while the last is the number of frames in your animation (so you could even change the number of frames without breaking the script).

I hope this is clear.