Some scripting commands don't work from sub-missions so as a general rule put your scripts in your main mission. Sounds like you're missing a 'missionlistener' that will watch for your submission events. Try this in your main script file.
Code:
public override void OnBattleStarted()
{
base.OnBattleStarted();
MissionNumberListener = -1;
}