Hallo Tryan,
setz mal den prescaler wieder auf 64, dann hast du wieder 1ms Überlaufzeit für den Timer.
Ich denke, dass die lange Ausgabezeit für das LCD (jedenfalls mehr als 1ms) den Timer beeinflusst.
Ich habe deine Do...Loop mal so abgeändert, dass die Ausgabe aufs Display immer nur einmal stattfindet. Danach ist PINA=Taster und er macht nichts. Erst bei einem anderen Taster wird wieder der zugehörige Text gezeigt.

Mach die Do..Loop so

Code:
Do
   If Pina <> Taster
      Taster = Pina
      Select Case Taster
         Case 0 :
            Offset = 0
            Locate 1 , 1
            Lcd "Kein Taster"
         Case 1 : Offset = 1
            Locate 1 , 1
            Lcd "Taster 1    "
         Case 2 : Offset = 2
            Locate 1 , 1
            Lcd "Taster 2    "
         Case 4 : Offset = 3
         Case 8 : Offset = 4
         Case 16 : Offset = 5
         Case 32 : Offset = 6
         Case 64 : Offset = 7
         Case 128 : Offset = 8
      End Select
   End If
Loop
Gruß

Rolf