In the old days things were simple and straightforward; track, buildings and such go in the route layer, trains automatically go to the session layer.
However things get pretty screwed up in TS12. Layers is an excellent idea, no doubt about that, but N3V's implementation of it is horrendous. Take for example, you want to create a session but do so from a "base" session. The the user who has a habit of just jumping straight into creating (like say, for the past few years) realizes after a couple of hours that he has been building the route on the session layer. And you can't drag-select the stuff you've built and throw them back into the Route layer. No, N3V has made a convoluted contraption where you must go into the Properties box of each and every single asset to change layers.
Nicky, I hear you say, why not just use the merge function man? That would work if there was nothing else on the route. But if you're working with sessions you probably have dozens of session-specific trackside items that you don't want cluttering up the route. It's even worse if you've edited a session and then realize you've been happily putting trains and trackmarks on the route layer. Sure, you can go back and open each and every one of their Properties box, but you better not miss out a single damned thing because loading another session with a conflicting asset on a different layer will mean alot of splines are going to fly.
Bottom line, put a post-it reminder on the screen in big fat block letters: "HAVE YOU CHECKED AND LOCKED YOUR LAYERS?"
It becomes a huge PITA, but TS12 users need to cultivate a new habit of checking and locking their layers before placing every item.