Die Frage die sich mir stellt ist, wie ich das Problem einkreisen kann.
Stimmen denn die diversen DDR´s inzwischen?
Eigentlich musst Du die in diesem Fall gar nicht speziell bearbeiten: Diejnigen Ports die das LCD ansteuern, werden durch den "Config LCD"-Befehl automatisch als Ausgänge konfiguriert, und alle anderen Ports sind nach dem Power-On-Reset Eingänge. Vielleicht steckt ja doch noch ein kleiner Wurm in diesen (nicht notwendigen) DDR-Zuweisungen...

Wenn nicht, kannst Du den Code ja interessehalber mal in "If TasterX = 1 then..." abändern. Benimmt sich das Programm dann richtig, ist wohl mit den Eingängen was nicht in Ordnung...