What Point08 said. Don't think of events as "characters". Use empty events as graphical representations, and have invisible "puppeteer" events controlling everything.
In most cases you would only have to add commands to a visible event if the player is supposed to walk up to it and press the action key or touch it. Hope that solves your problem!
60 frames is 1 second and you've set the BGM fade to 2 seconds. Try either increasing the wait time to 120 frames or lowering the fade time to 1 second.
Or you could make the teleport event Same Level as Player, and place it just outside the map. So you'll have the floor tile free, and only teleport when walking into the "wall", so to speak.