Taster werden meistens mit pullup an + angeschlossen und bei betätigung mit GND verbunden.

Ist das bei dir so ?

Dann solltest du mittels
PORTB = &HFF
ev. die internen Pullups aufdrehen.

Und in diesem Fall musst du auf "0" abfragen
Code:
If Taster2 = 0 Then Compare1a = 100 Else Waitms 50

etc.

Weiters: du setzt bei jedem Durchlauf den Wert auf 50
d.h. wenn du bei einem Taster auf 100 setzt, gilt dieser Wert gerade ein paar µS