I'm not sure... But I would make a couple of changes. I would bump the NUM_SERVO count up to 3 just because we are using the 3rd field. The code should be tolerant of having it at 1 but for right now, I would move it to 3. And I would try it with the //#define Z_ENDSTOP_SERVO_NR 0 commented out. I think this has to do with using the Z-Probe as a Z_MIN_ENDSTOP. Also, are you sure those angles are right? I guess you can't check them with M280 right now, but I know my servo doesn't go to 178.
#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
//#define X_ENDSTOP_SERVO_NR 1
//#define Y_ENDSTOP_SERVO_NR 2
//#define Z_ENDSTOP_SERVO_NR 0
#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {100,178}} // X,Y,Z Axis Extend and Retract angles
If those changes don't cause the right thing to happen... I would probably enable:
#define DEACTIVATE_SERVOS_AFTER_MOVE
#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
//#define X_ENDSTOP_SERVO_NR 1
//#define Y_ENDSTOP_SERVO_NR 2
//#define Z_ENDSTOP_SERVO_NR 0
#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {100,178}} // X,Y,Z Axis Extend and Retract angles
If those changes don't cause the right thing to happen... I would probably enable:
#define DEACTIVATE_SERVOS_AFTER_MOVE