es kann an dem Programm liegen ... ist aber schwer zu sagen,
weil Dein Programmablauf etwas "unübersichtlich" ist.
Du springst aus Schleifen, Abfragen usw. per Goto raus,
das kann Problemchen verursachen ...
Ein Tip noch ... versuche aussagekräftige Variablennamen
zu verwenden, das macht anderen und auch Dir das lesen
bzw. interpretieren des Codes einfacher.

Anstatt W z.B. Analogwert_LDR1 ... nur mal als Anregung.
Auch Aliase helfen mitunter ... z.B.

Endanschlag alias Pind.1


if Endanschlag = 1 then .....