Ich bin zwar auch kein Experte für Bascom, aber soweit ich mich noch erinnere wird in BSCOM mit
ON Timer1 funktion

kein normaler code erzeugt, sondern es wird der Interrupt-vector definiert. Das Problem ist als mehr die Programmierung mt Interrupts.

Da hat man nämlich wirklich ein Problem und man sollte nicht irgendwie aus der Interruptroutine in den normalen Programmfluß springen. Da hat man einmal das Problem mit dem Stack und zum anderen kann man da Hauptprogramm mtten in einer Zuweisung unterbrochen haben. Damit könnte z.B. ein Variable nur halb überschreiben sein. Das einzige was mir da als sinnvoller Fall einfällt wäre ein totaler neustart des Programm, ggf. mit parameterns die nur in einer ISR geändert werden.