One small difference that so far I haven't yet seen mentioned:
Xehanort traveled through time by himself and using his own power, Sora and Riku didn't, they were sent through time by Yen Sid's magic (who stayed in the present) and didn't travel by their own power.
Might also play into the the whole issue being a little different than Xehanort's since the make up was also slightly different.
I was hoping you'd pop in here at some point. Of all the KH lore fanatics I've ever known, you've gotta be the best, Sephy. Thank you for that.
Alright, so let me put all these points in order here for future reference/clarification:
- In order to time travel, one must have released their heart from their body at some stage in their life. One does not have to be heart-only in order to time travel, as long as they have abandoned their bodily form at one point.
- Sora and Riku are both able to travel through time because Sora abandoned his body while releasing Kairi's heart, and Riku was forcibly shoved from his body by Ansem.
- Physically falling asleep has nothing to do with the Realm of Sleep. The RoS is for worlds that have been consumed by darkness. Upon being destroyed by darkness, the world's events essentially freeze, and the world falls asleep and so do all the inhabitants. In DDD, we travel to worlds that were released from said darkness, but never "woke up" fully after being saved. In order to access the RoS, one must be on a world as it falls to darkness, be it in present day and or through time travel. One can also access the RoS at will if one has gained the power to do so, but in order to do that, you have to go through the former method first.
- The Sleeping Worlds are trapped in a locked loop of time, replaying the events the occurred just prior to the world falling to darkness. The worlds themselves are sleeping, and so when one enters a Sleeping World, despite it being an actual physical place, the people and places one finds within are in fact a manifestation of that world's dream. Only once the world awakens will the time loop cease, and the events return to being contingent along present day time, instead of a perpetual dream of the events prior to the world being destroyed.
- When Sora and Riku enter the RoS, Riku senses Ansem and instinctively protects Sora, diving into his dreams and becoming a Dream Eater. Thus, in the events of DDD, Sora is traveling through the actual physical Realm of Sleep, while Riku is traveling through Sora's dreams of the Realm of Sleep. Thus, both Sora and Riku gain the power to access the Sleeping Realm at will at the end of the game, but Riku gains the additional power to awaken hearts because he unlocked the Sleeping Keyholes inside of Sora's dreams.
- The only role that physically falling asleep plays in DDD is switching between Sora and Riku. When one falls asleep, the other wakes up. Otherwise, physical sleep has no bearing on going to the Realm of Sleep, because it's the
worlds that are asleep, not the characters themselves (even though entering the RoS automatically puts one into a sleep-like state of being, since you have to enter a dimension stuck in a sleep-induced time loop)
- Xehanort time travels through his own power, but Sora and Riku are sent back in time by Yen Sid. However, since all parties have abandoned their bodies already within their lifetimes, Sora, Riku, and Young Xehanort can all travel through time in bodily form at the time of DDD. This is also why YX is able to gather his 13 selves through time despite all of them being physical people, because abandoning his body once unlocks the ability for all versions of himself, and thus they can all travel through time along with him.
- Sora and Riku do not lose their memories of time traveling because they only go back into the past. If you travel into the future, then your memories of the future are erased upon returning to the present, but remain etched into your heart. Traveling to the past does not erase your memories of time traveling.
Anyone, feel free to correct something in those points if something is incorrect.