To really understand what is going, we would need to know what "strange things" are happening. However, here are a couple things to look for.
Are you using global variables that get modified in a previous event? Global variables persist between layouts.
Are some of your events in the layouts referencing ticks passed? If they are, many ticks have already passed in the system by the time the layout starts. This could cause items in the layout to be in a different state than you expect them to be in.
I have found it is always good to have an on start of layout event to set everything to the beginning state for that layout. Simply added this type of event may fix the problem for you.
I hope that gets you what you need and, good luck with your project.