Как совет - пробуй такие вещи в отдельных тестовых миссиях - так понятнее будет, и гарантия того, что нигде ничего не мешается.
Может еще проблема в том, что подмиссия загружается уже после старта битвы. Листенера тогда лучше назначать например в OnMissionLoaded. Так как OnMissionLoaded вызывается во всех подмиссиях вне зависимости от листенера надо сначала проверить на соответствие фактического номера миссии переданному в параметре. Если совпадает (значит загрузилась именно эта миссия) то ставь слушателя -1.