Dann kannst du dich doch nur in die Empfangsroutine mit reinhängen und dann prüfen. Von allein wird da kein Ereignis kommen.
Im Prinzip muß also der alte Status gespeichert sein.
Nach Empfang und Auswertung des aktuellen Records wird dessen Inhalt z.B. in sowas wie
FLastCNCStatus: T_CNCStatus;
gespeichert. (falls die einzelnen Statuswerte nicht schon irgendwo existieren)
Bei der Auswertung kann man nun die Alten mit den neuen Werten vergleichen und bei einem Unterschied dann das gewünschte Ereignis auslösen.