Are you on beta 3? Even if you're on beta 3, please change your code a little:
1) API.load() is the beta 3 version of loadAPI. It's generally safer. On newer builds, we use the require() alias cause it's what lua would use anyway.
2) onStart has replaced onLoad shortly after beta 2 (two) released. Generally safer.
3) Make sure to use the "local" keyword to restrict the scope of your variables.
If you're on Beta 3, you mustn't activate smb3overhaul in episode lua for the level lua version to take precedence. Lunadll.lua runs BEFORE lunaworld.lua.
If you're using the MAGLX3 build, however, you can...
-deliberately NOT put your _smb3overhaul as local in episode-wide luna.lua, and
-access it from level-wide luna.lua and set the seconds in onStart there and whatnot
-level-wide luna.lua runs AFTER episode-wide luna.lua after all