hai ragione, il problema era proprio quello oltre ad altri errori stupidi.
Ora a differenza di prima che ottenevo questo output:ORDINE EFFETTUATO CON SUCCESSO. Codice ordine:27 quantita:[object Event] prezzo totale:undefined
ora ho quest'altro:
ORDINE EFFETTUATO CON SUCCESSO. Codice ordine: quantita:4 prezzo totale:60
Queste sono le modifiche (in rosso):

if (confirm("Confermare i dati inseriti ?"))
{
passw=document.getElementById("pass").value;
quantita=document.getElementById("quantita").value ;
totale=document.getElementById("totale").value;

var objHTTP = new XMLHttpRequest();
if (objHTTP!=null)
{
var params=("menu=ordine&pass="+escape(passw)+"&qua="+ escape(quantita)+"&totale="+escape(totale));
objHTTP.open("post", "GestionePOST.php", true);

objHTTP.setRequestHeader("content-type", "application/x-www-form-urlencoded");
objHTTP.setRequestHeader("Content-length", params.length);
objHTTP.onreadystatechange=ordeffett(passw,quan,totale);
objHTTP.send(params);
objHTTP.setRequestHeader("connection", "close");
}
}


function ordeffett(password,quantita,totale)
{

if (objHTTP.readyState == 4 )
{
if (objHTTP.status == 200)
{
// creiamo un nuovo nodo di testo
var $ordine= objHTTP.responseText;
alert($ordine); //non stampa nulla mentre prima funzionava, vedi l'altro mio post in cui veniva stampato solo il codice ordine e non la quantità e totale
frase = document.createTextNode("ORDINE EFFETTUATO CON SUCCESSO. Codice ordine:"+$ordine+"\n quantita:"+quantita+"\n prezzo totale:"+totale);

document.getElementById("content2").appendChild(fr ase);