You probably have a loose connection in the cabinet, either at the PLC or the servo drive. If the switch itself were faulty, you would get false "407 Z- limit (#?) tripped" messages. Since you only get "411 Z axis full power w/o motion", then the switch is remaining closed as far as the PLC can tell, but the servo drive thinks the switch is open.
Is this a 1993-1994 M40, with the flat 15/15 PLC board, or a 1994-1996 model with the RTK2 PLC unit (stack of three boards)?
Try cleaning (with contact cleaner) and reseating the 8-pin Waldom plug where the limit switches plug into the servo drive, and, if you have an RTK2, do the same for the 10-pin Waldom plug on top of the RTK2.
See http://www.cncsnw.com/ServoLogicPM.htm for an illustration of where the limit switches connect from the RTK2 to the servo drive.