Hallo,
hier mal ein paar "Fehler":

Integer sind in Bascom ganze Zahlen mit einem Wertebereich von -32768 bis +32767, also etwa mittig um 0. Wenn du bei einem Wert von 32767 um 1 erhöhst, hat die Variable anschliessend einen Wert von -32768.
Es gibt auch den Typ Word, ganze positive Zahlen von 0 bis 65535. Du solltest alle Variablen als Word definieren.
Schau dir mal in der Hilfe unter Language Fundamentals nach. Da kommst du hin, wenn du z.B. das Wort Integer markierst und dann F1 drückst.

Config Int0 = Low Level gibt an, dass die ISR angesprungen wird, wenn am Eingang PinD.2 (INT0) eine 0 anliegt. Dies passiert kontinuierlich, solange bis am Eingang eine 1 kommt. Du wirst wohl eher
Config Int0 = Falling wollen. Dann wird die ISR nur einmal ausgeführt, und zwar dann, wenn die Spannung am Eingang das erste Mal auf 0 fällt. Danach muss erst wieder eine 1 kommen, bevor der Interrupt wieder ausgeführt wird.

Deine Timer ISR wird nur alle 500ms aufgerufen, die Int0 ISR bei max 12.000 U/min alle 5ms. Dazwischen hat der µC nichts besseres zu tun, als andauernd die Werte zum Display zu schreiben, obwohl sich da ja garnichts ändert. Um dies zu verhindern würde ich dir empfehlen, in der Timer ISR ein Flag zu setzen, z.B. Anzeige_flag=1. In der Do Loop fragst du dann
If Anzeige_flag=1 Then
Anzeige_flag=0
'alle deine LCD Befehle
End If

Die Anzeige wird dann sehr ruhig stehen.

Gruß

Rolf