Hi,
Der Code funktioniert bei mir an sich und erreicht auch bei mir (Firefox l.0.6) den readyState 4, responseText ist auch gefüllt. Ich habe allerdings mit einer statischen Datei anstatt dem CGI-Programm getestet (kann kein C - sehe darin aber soweit keinen Fehler). Hier gibts einen kleinen Fehler:
document.getElementById('XMLRequest1').value = http.responseText;
<textarea name="XMLRequest1" cols="50" rows="10"></textarea>
Mit getElementById kannst du nicht auf Elemente mit name-Attribut zugreifen, das geht nur im IE aufgrund eines Bugs. Gibt man der textarea eine entsprechende id="XMLRequest1", dann sollte es laufen.
M.