I don't see how that can be hard to save/restore, but maybe that's just me.
Not enough of the project is known to make that call anyway. Do the cars have weapons? Does the AI?
Is the track interactive? Does it animate?
The more complex it becomes, the more data you have to record with the direct method.
Where as this method, you just record one very small set of input data and that's it. Initilize the ai with the same seeds/varaibles as the actual game and it'll react identically. (Same seeds means even RND calls etc will be the same..so it places no restrictions on the type of code you can use.)
So you have very small memory usage and absolutely no drawbacks, because the more I think about the more I realise you don't need to lock the frame-rate at all. Just create a high definition frame varaible(Comprised of say 255bytes, some internal number system, so no messy 32bit limits)
So you have all the benefits and none of the drawbacks plus the safety of knowing it'll cope with even the most complex siturations...