Mittlerweile habe ich die Ursache gefunden. Es ist ein Fehler im Programm.
Ursprünglich kennt GRBL ja nur MIST und FLOOD als Cooling-Devices (Befehle M7, M8 bzw. M9).
Herr Meyer hat die zusätzlich schaltbaren Verbraucher auch als Cooling-Devices integriert und dafür die Befehle M100 bis M107 hinzugefügt sowie Schaltcodes für die entsprechenden Routine in coolant_control.c (Die Codes stehen in gcode.h).
Nun wird in gcode.c der Status des Coolings intern in einem Flag-Byte (condition) weitergegeben. Allerdings ist das nur für MIST und FLOOD gedacht (Bit 6 und 7 im Flag). Sobald man die zusätzlichen Ausgänge schaltet, werden zusätzliche Bits verändert, die nichts mit dem Cooling zu tun haben, was zu den von mir beobachteten Fehlern führt.
Man kann das vermeiden, indem man in gcode.c, Zeile 971 alle Bits außer 6 und 7 ausmaskiert.
Ich muss mal schauen ,wie ich die Fixes am Code der Allgemeinheit am besten zugänglich machen kann.
Gruß Andreas