I think it looks for the address of the cluster where the track starts, and that is why it is physical size and not file amount dependent. Only thing I can think of that explains it.
Yeah, my Pioneer ONLY started indexing when you were in CD or USB mode ... but if you left the mode and went back into it, it used the indexing that already occurred, so it wasn't like I had to start over ... unless ... of course ... I stalled the friggin' car >.<
If *I* was programming it, I would save in Keep Alive Memory, the address of the song that was playing on power off and the time where the track was. When the stereo is re-started, if the address matched the beginning of a track on the stick or the disc, it would index that track, load that track, go to the time, and then index the next tracks and wrap around to the track prior to the one that was playing (round-robin). If the addresses didn't match the beginning of a track (which would happen if the drive was changed while the power was off), then the first song would index, load, play, and then index to the end.
It isn't true dynamic programming, but it would mimic it well enough to keep most people happy, unless you always change tracks right when you start the car up.