А что до исчезновения флагов, так это потому что ты их сам же и стираешь из v80 перед тем как вернуть!
Логика твоя такая...
В !?BG0 ты сохраняешь флаги в v80
затем в !?MR1 используешь это
А когда наступает !?BG1 ты с полной уверенностью что всё на месте, восстанавливаешь флаги, которые были когда-то сохранены в v80!
Вот только там их НЕТ, как ты понял
и да, там же, в !?MR1, ты сбрасываешь 550 флаг
потому твой код, идущий в !?BG1&550; просто не срабатывает
В общем, убери ненужные обнуления переменных в MR1
запомни, триггеры не срабатывают по очереди твоего написания кода, они могут как угодно идти в теле скрипта, очередь их срабатывания записана в самой игре, т.е. сначала BG0 потом MR и в конце BG1
почитай справку по боевым триггерам