Aha,
Ich muß Dich aber berichtigen, Der Assembler Code verwendet den Timer 2, Timer 0 hat keine Hardwareverbindung an irgendwelchen Pin...
Es ist also damit zu rechnen, daß irgendwann eine High(oder auch LOW) Flanke von Deinem US Empfenger kommt, und Du möchtest die Zeit zwischen Senden Ende und Flanke messen ?

Dazu hätte ich eine Idee, leider kann ich keine genauen Infos dazu liefern, weil ich mich damit noch nicht auseinander gesetzt habe, aber der Timer 1 hat einen schönen Eingang am Pin PB0(ICP1) und der ganze Quatsch hat was mit der Input Capture Unit zu tun.
Ich hab es eben überflogen(Dattenblatt M8 Seite 81), und es scheint so als wenn man den Timer 1 auf Null setzen könnte, sich zurücklehnt und in alle Ruhe auf den Inputcapture Interrupt warten könnte(eben Flankenwechsel an PB0).
In der ISR den Wert auslesen, und schon hat man die Laufzeit...

Schau mal in der Bascom Hilfe nach, vielleicht gibt es da schon was fertiges, damit würdest Du Dir den ADC Quatsch sparen....

Nur so als Vorschlag...

Gruß Sebastian