I can't see what's wrong and I'm on mac right now :/.. To be honest, I too struggle with the events in C2. I'm a programmer but I'm also new to Construct so I'm not used to the pick stuff and the flow of events yet.
What I can think of without having construct to try, make your "Pick all obj_door" and subevents a subevent of the hero_base on collision event.
Also there's no need to verify if the key value is 0, if your door already start as locked.