I ran into a similar problem where, script1 called script2 which called script3. I had a syntax error in script3 which caused script1 to fail... before script2 or 3 was even called. I read somewhere that the script you launch and all related scripts get pulled into memory. Though, you can change a related script that is not yet called and the changed script will launch, not the parsed one in memory.