die level_load funktion beendet alle entity actions und alle functions deren my pointer nicht = null ist.
Desweiteren sollten events in einer function stehen und nicht direkt in der action.
Ergo könntest du folgendes probieren:
Code:

string level2_wmb = <halle.wmb>;

function lchanger_event
{
if(event_type == event_imact || event_type == event_entity)
{
my = null;
my.event = null;
level_load (level2_wmb);
wait (3);
media_play ("schibetuere.avi", null, 100);
}
}

action level_changer
{
my.enable_entity = on;
my.enable_impact = on;
my.event = lchanger_event;
}