Prego, figurati!
Comunque, ti avviso che io con AJAX non mi ci sono mai cimentato, perciò potrei benissimo dirti delle castronerie

Allora, il problema relativo agli errori javascript io l'ho un po' tamponato utilizzando FireFox, la sua "Console degli errori" (la trovi nel menu "strumenti") e un'estensione chiamata FireBug che puoi trovare qui: http://www.getfirebug.com/.
Certo, non è che ti dicono come sistemare gli errori, però almeno si riesce a capire in quale riga si trova la magagna, se c'è qualche funzione o variabile non definita, o qualche proprietà inesistente di oggetti vari... cose così...

Per quanto riguarda l'altro problema:
non sono sicuro che funzioni, ma io toglierei makePOSTRequest che hai aggiunto alla fine della funzione controllaCheckbox() e lo metterei direttamente nell'action:

action="javascript:makePOSTRequest('post.php', elenco_selezionati)"

L'array "elenco_selezionati" ce l'hai già e puoi usarlo come ti pare, quindi perchè non passarglielo direttamente come parametro alla funzione makePOSTRequest?
Se invece lasci makePOSTRequest nella funzione controllaCheckbox() dovresti vedere la pagina aggiornarsi ad ogni spunta che fai sui tuoi checkbox. A quel punto non ti servirebbe più né il form né tantomeno l'action (o sbaglio?)

Ora però avrei bisogno di qualche chiarimento...

Ho visto che tu avevi inserito anche le parentesi quadre nella makePOSTRequest:
Ti dico subito che ho scelto la seconda versione quella col codice in js..
aggiungendo alla fine
makePOSTRequest('post.php', elenco_selezionati[]);
E' una cosa voluta? Sei sicuro che ci vadano? Se sì, mettile anche nell'action che ti ho suggerito poco fa...

E poi... Hai già verificato che tipo di variabile viene passata con la funzione makePOSTRequest? Ripeto, io di AJAX non ci capisco granchè, ma ho il sospetto che con variabili di tipo POST si possano passare per lo più stringhe... perciò, temo che prima di passare il parametro alla funzione makePOSTRequest, dovresti convertire il vettore "elenco_selezionati" in una stringa.
Alla fine cosa usi? elenco_selezionati è un vettore di "oggetti" o di "id"?
Se hai solo gli id, in fondo alla funzione controllaCheckbox() aggiungi questa riga:

elenco_selezionati = "'" + elenco_selezionati.join("', '") + "'";
(ottieni una stringa del genere: 'check1', 'check2', 'check3')

Se invece hai degli oggetti, allora dipende cose ne devi fare... puoi sempre recuperare gli id, metterli in un vettore, poi in una stringa e quindi passarli in POST.

Un'ultima cosa: dove vanno a finire le variabili che gli passi? nella pagina post.php? allora lì puoi eventualmente riconvertire la stringa in un vettore (e poi individuare di nuovo gli oggetti corrispondenti agli id) all'interno di uno script php e/o di uno script javascript, a seconda di quello che ne devi fare...

Spero si sia capito qualcosa e che non ci siano troppi errori (anche concettuali).. insomma, io ci ho provato...