OK then.
Two things to try.
Firstly, make sure the "door_event" function is physically higher in the source code than the door_action,
or a prototype of it at least. If this is not so, it will still compile, but fails on events.
If that doesnt help, then try changing the event flags in the door action from the existing
my.emask = (ENABLE_BLOCK | ENABLE_ENTITY | ENABLE_TRIGGER);
to be
my.emask |= (ENABLE_BLOCK | ENABLE_ENTITY | ENABLE_TRIGGER);
but of a guesswork this one.
Otherwise, post the door_action function, in case something there is scrambling the flags.