Problem would exist. True RNGs aren't actually random, but each time the RNG is called, the previous number is dumped into the the algorithm to produce the next number. So with a given seed and a given RNG, you would get a certain list of numbers. Now, the reason you get the same world everytime with a certain seed is because World Gen pulls the numbers from the list in a given order every time. If you only generate the top few layers, then you'll end up with a surface map that always looks the same for a given seed, but when you generate the next set of layers in-game, you won't be guaranteed that the next number from the RNG will be the same for every player, because general play would hit the RNG for numbers as well, for combat and such and the fact that I believe the in-game RNG is seeded differently everytime you start the game. But even if you maintained a separate storage for the world generation RNG, then you still have the problem of that next number being the one used regardless of where you embark.
If you really want to, you can work around this. Just about every psuedo-random number generator that I've worked with has a seed value (the same value that is stored already with world generation) that controls where the list of 'random' numbers starts. Generally, this is set with something like the system clock, but if you want you can specify a value manually.
Basically, you can use a global PRNG that generates a "random" number for each embark. That in turn is used as the seed for a PRNG for that embark site. It can then be used to generate a sequence of PRNGs for different tasks such as terrain generation and pathing and the like. So no matter which site you want to embark on, the same seed can be generated from scratch without actually having to store any additional information.