Once you remove a special function, it's gone. The only way to get it back is to create it again through script or to load the game. One option would be to have a global special function on each map that is set to "remove after use" that automatically save the state of the game. Then, when they die, instead of switching to the map, have a special function that activates a series of special functions: First, load the game, second, subtract one life from the inventory... if you keep track of lives. If you don't, you would just have to load the game and that's all. You wouldn't have to have a series or anything.
Also, if you have a special function set to "remove after use" you don't need it also set to "initial touch only".