The analog boards can go bad. Is the button actually clicking and making contact? If not, it needs cleaned or is broke. If it is, try replacing the analog board. (Analog board might not be the right name, but it is what I've always heard the little switch board refereed to as.)
68k: Duo 230, 270c, 280c, DuoDock II, DuoDock Plus, Apple Minidock, Newertech Netdock & Ultradock 16sce, 540c, 190
PPC: 2300c, 5300ce, Performa 6500, Wallstreet II 300, B&W Powermac G3 500, iMac G3 700
PRAM? When in doubt, Pull it out!