You used the set macro in the line "set(me,ENABLE_CLICK);". set is a macro because it gets replaced by the precompiler. After the precompiler changed your line it should look like "(me->flags |= (ENABLE_CLICK));". That is very dangerous because you set an eflag in the flags.
When you execute Redeemer's code it should work, yes. Please place a "prtinf("Here!");" in the first line of sound_on_click. Does that pop up a message box for you?