It can be done, but i'll need to actually make it to explain fully, but i don't have time so i'll just give you the consept to ponder over...
Func_wall_toggles...mu... hang on.. just one func_wall toggle....
make it "visible" by triggering it... this will stop the player from beeng able to shoot at the button_target... and trigger it again to 'enable' the button
make the func_wall toggle invisible in the game by doing the same as for a ladder (rendermode > solid ; renderfx > 255 etc..)
BTW, could this be a ploy to boycot the use of a multisource? > i'm not sure (unless i compile) but i think button_tergets can use masters...
hmmm...