Hallo

Da sollte eigentlich kein direkter Zusammenhang bestehen. Der Antrieb verwendet Timer1, die Trägerfrequenz für das IR-Signal den Timer2. Ist die IR-Led nicht richtig abgeschirmt, so dass der IR-Empfänger irgendwelche IR-Echos empfängt? Welche Lib verwendest du? myMotorSpeed() kenne ich nicht.

Gruß

mic

[Edit]
"geht die Hinderniserkennung gar nicht mehr PortD Pin0 ist dauerhaft low, die LED bleibt grün"

Grün bedeutet bei deinem Programm, dass der Port des IR-Empfängers High ist!

if (PIND & (1 << PD0))
StatusLED(GREEN);

Das bedeutet, der IR-Empfänger erkennt kein Signal. Sind die Akkus/Batterien ok? Möglicherweise senkt die Belastung durch die Motoren die Bordspannung soweit ab, dass der IR-Empfänger nicht mehr richtig funktioniert. Er ist sehr zickig bei Unterspannung.