Code:
$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600

Config Serialout = Buffered , Size = 20

Ddrd.5 = 1

Do
  If _rs_head_ptrw0 = _rs_tail_ptrw0 Then
      Print "Dies ist ein Test."
  End If
  Portd.5 = Not Portd.5
  Waitms 1
Loop
End
Ich kenne zwar weder den ATMEGA8 noch dein Basic, aber anhand deines
Codes habe ich einen Verdacht:
1.Im 1.Code holst du das Zeichen aus dem Buffer.
2.Im 2.Code ist für mich nicht zu erkennen wo Du das Zeichen abholst.
3.Stattesen prüfst Du ob kein Zeichen im Buffer ist
(_rs_head_ptrw0=_rs_tail_Ptrw0) und gibst in diesem Falle etwas zum Terminal zurück. Nachher schaltest Du den Lautsprecher ein und wieder
aus. Das heisst, wenn Du den uC einschaltest, kommt kurz deine Meldung
zurück, nacher kriegst Du nichts mehr...

Einfach eine Vermutung ...