Meine Vermutung:

Mit pinx.y liest du einen Port als Eingang.
Mit portx.y schreibst du einen Port als Ausgang.

Deshalb muss es in deinem Programm bei den Lampen z.B. Portd.1 = 1 heißen.
Analog bei der anderen Lampe und natürlich auch beim Ausschalten.

Ich bringe Pin und Port selbst immer durcheinander. Hoffe, ich hab's diesmal richtig erklärt!

EDIT: myroc hat das übrigens in "seinem" Programm auch so vorgemacht, wer Lesen kann, ist klar im Vorteil