So when you search the first time, it displays the results, but when you search it again, it replaces the results from the first one?
When you use the document.getElementByID('id').innerHTML= command, it replaces what is inside the tag you referenced, so I'd make sure that the replacement includes the info from the first search, if you are indeed trying to display all the searches for the session.
If you are trying to get it to continue showing the first and second results, I'd add the responseText onto a variable that stores the response.
fullResponse="";
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
fullResponse=fullResponse + xmlHttp.responseText
document.getElementById("txtHint").innerHTML=fullResponse
}
}