It is difficult to say what is broken at this point. Your multiple scripts are complex enough that I can't see at a glance what is actually wrong. MP is difficult for everyone, so don't get disheartened. I must say, though, that you really need to get a strong theoretical understanding of how to manage MP things before you start scripting them, at least compared to SP scripting, because debugging when you are actually running an MP mission is so much more difficult (I'd personally recommend trying the debug logger in my
SPON Core package to improve MP debugging; I wouldn't get anywhere without it ;P)
Actions are placed on objects and actions that you want to always be available are put on the
player object. When you die, you respawn in a completely new
player object that doesn't have the action. Just try finding your corpse and look at it to see that the corpse will actually give the action!
You need to detect when the player has died (use a killed handler), remove the action from the corpse, wait until the player object is alive again (proving that you have re-spawned), then you can re-apply the action. However, if you restart the mission and you aren't getting the action, then I'm not sure why that would be...