Sobald das Skript einen Parameter q übergeben bekommt, gibt es "egal..." aus und stirbt (man beachte das hier).
Er hätte mit die('whatever'); auch gleich die Ausgabe machen können. Da es sich hier um Tests/Debugging handelte würde ich nicht meckern. "Stirb" klinkt halt mehr nach Prosa als dieses vergleichbar hässliche Wort "exit".
Das eigentliche Problem:
wenn die Seite mit http://example.com/test.php?q=foobar aufgerufen wurde, dann könnte es gut sein, dass die Rückgabe sorgfältig im Cache aufbewahrt wird. Wenn jetzt also ein xmlHttpRequest wieder http://example.com/test.php?q=foobar aufruft, dann kommt das vermeintlich falsche Ergebnis wahrscheinlich aus dem Cache.
Das kann man sich anschauen, wenn man den Datenverkehr mit geeigneten Entwicklertools beobachtet.
Will man das vermeiden, so hänge man an http://example.com/test.php?q=foobar noch eine mit JS generierte, große Zufallszahl ran um den Request an den Server zu erzwingen.
http://example.com/test.php?q=foobar&z=ZUFALLSZAHL