I only use the limit switches for homing, and turn them off when running the machine. Vibrations in the machine cause my limit switches to fault.
When you write that your clearance and retract values are 0.2, is that in the G code, or a machine preset? Are you asking the tool to rise 0.2 above the workpiece, or 0.2 above the Z home value?
My >machine< retract settings are in negative values, as the machine zeros (home) at top left front.
My >G code< retract entered by the CAM program will be set to clear any clamps etc, and is referrenced from the workpiece Z zero coordinate.
Running a G00 comand with an X, Y, and Z value in the line will cause my machine to retract based on the machine retract value, while a G00 comand with only a Z value in the line will utilize the G code retract value as determined by the CAM wizard.
The point being, are you trying to move the machine past it's limits, or are the switches faulty?