Eine kurze Schleife beim Polling ist nicht wesenlich schlechter als die Unsicherheit durch die Verzögerung bis der Interrupt aufgerufen wird.
Das größte Problem ist dabei der eher selten auftretende Timer überlauf. Der würde das Polling oder einen Interrupt etwas verzögern. Man könnte das eventuell vermeiden, indem man Hardwaremäßig (extern) die Timer hintereinanderschaltet. Genauer wird es aber mit der ICP Funktion.
Die Lösung mit externen interrupts hat aber auch was für sich: Man ist naich darauf angewiesen in welcher Reihenfolge die Flanken auftreten. Es ist ja nicht klar ob das der Körper aus der einen Lichtschranke raus ist bevor er in die Nächste reinkommt.


Das Problem mit dem Überlauf kurz vor / nach dem Auslesen der Zeit kann man mit Hilfe der Interrupt Flags lösen, so wie im ICP Beispiel:
Wenn man einen kleinen Wert aus dem Timer einließt und ein Overflow Interrupt noch aussteht, dann muß der Overflow interrupt vorher dran, sonst nicht.