Eu acho que tu poderia tentar, ao invés de chamar um evento comum, colocar todo o processo de salvamento no evento mesmo. Pouparia switches, imagino, e como creio que não é todo canto que haverá um local para salvar e os eventos seriam iguais, não será nenhum trabalho a mais. Eu não costumo usar eventos comuns, daí não sei que efeitos o esperar dele tem no esperar dos eventos no mapa. Talvez ambos não possam acontecer ao mesmo tempo, aí um tem que esperar o outro. Não sei, aí é questão de testar mesmo.
Quanto à parada da mudança de mapa, outra saída seria, aí sim, ao salvar, tu define uma variável para 0, ligando um evento comum na sequência. Quando essa variável chegasse a, sei lá, 300, o save estaria disponível novamente. Há a condição da página do evento ser ativada por valor de variável, então, em tese, funcionaria.
Se puder, tente essas mudanças aí, se tiver entendido também. Se não, se conseguir tempo no fim de semana testo para ver se chego a algo que funcione para ti.