It`s really the Devs fault, they haven`t fine tuned the Fast travel\wait\Sleep with what people should do by the time you wake up.
That's because it's resource intensive to do correctly. The only straight-forward way to do it is to run all the NPC scripts all the time. Ideally you want to run
all the AI in the world all the time. That way you'd have a neat little world simulation going on that the player could interact with. Very cool, but it would svck up CPU resources like crazy. There aren't too many games that do this unless the intent is to simulate a world, like most Maxis games.
With this in mind, I wonder how the game deals correctly with wandering NPCs like M'aiq. It doesn't seem you have to enter any cell where he is walking before he remembers to progress to the next one. Now I feel like looking up how the travellign NPCs' behaviour works.