Jetzt ist mir noch was aufgefallen. Du musst in der Datei avr/delay.h neuerdings deine CLK Frequenz einstellen also bei dir 8Mhz. Dadurch ist warscheinlich das hier
_delay_us(15); // Laut Datenblatt Trigger-Puls min 10us auf high
falsch und die Ergebnisse spinnen.
Und ich hab noch nen kleinen Fehler im Code oben verbessert.
Auszug aus avr/delay.h :

Code:
/** \defgroup avr_delay Busy-wait delay loops
    \code
    #define F_CPU 16000000UL  // 16 MHz       <----------   Hier musst du es ändern also einfach ne 8 aus der 16                 //    machen   Zeile 45
    //#define F_CPU 14.7456E6
    #include <avr/delay.h>
    \endcode
Ich hoffe das der Code noch irgendwann funktioniert. Vor allem weil ich keinen srf04 hab ums zu testen.

Gruß Muraad