There would be some contraints in that pathing decisions could only react to other pathing movers from the previous frame. IE: If Urist McOutSideTheFort is running away from a gobo chasing him - he would be reacting to the position of the chasing gobo from the previous frame.
Of course! If it wasn't so, pathing decision would be dependent on the order of the pathing. Say you are the 1st creature on the map to path, then you will have priority over everyone, and others will be able to anticipate your move 1 frame in advance. In that case, it wouldn't be timeframes but stateframes : each frame is a change of state, and time only advances once a full cycle has been done.
The use of timeframes lets you calculate the next frame using data from the current frame and nothing else. I don't see where's the problem, this computation has a known input and can be separated into several threads, such as "pathing of Urist McWoodcutter" and "pathing of Goblin EliteAmbusher". Once all movements are done, you can get to the next part: "Goblin EliteAmbusher decapitates Urist McWoodcutter".
Note that my knowledge of multi-threading requirements is very limited...
Either way I find it rather arbitrary as I seriously doubt there is a large number of individuals on the forum who actually understand multicore coding (the two in this thread seem competent though), and there are even less who know the details into DF's code.
Ah. I know numerical modeling, up to a certain point. I'm probably way out of my league about multicore coding AND DF code details.
I'll stop. now.