Man kann zur Not ISRs wieder Zulassen in einer ISR. Das ist schon in C nicht einfach, bei Bascom hat man da zusätzliche Probleme mit sehr hohem Stackverbrauch. Auch muß man sicher gehen das der gleiche Interrupt nichtnochmal auftritt. Gerade für eine Sache die zuverlässig sein soll, sollte man nicht eine solch fehlerträchtige Methode wählen.

Der bessere Weg wäre wohl der Kaltsstart.
Das Programm muß dazu am Anfang klären, was den Reset ausgelöst hat und ggf. über Werte im IO Registern klären ob es ein echter Reset, oder der Sprung nach 0 war. Dann fängt das Programm sozusagen mit einem Notaus an, wenn kein echter Reset die Ursache war.
Wenn da was schief geht, hat man am ehesten einen versehentlichen Notaus. Denn kann man über Störungen am Int Pin aber auch so bekommen.

Wenn der Notaus sicherheitsrelevant ist, dann muß / sollte man das aber schon direkter in Hardware haben - Je einfacher desto besser, also eher Relais als Halbleiter. Vermutlich so, daß die Hardware die Motoren ausschaltet und die Software sich die Postionen usw. merkt damit danach wieder kontrolliert angefahren werden kann und ggf. ein Notbetreib möglich ist.

Die Referenzfahrten usw. sollte man ohnehin erst wieder beim Einschalten danach durchführen.