Prova con il serialize()
Converte l'array in stringa che poi tramite unserialize() puo' essere ritrasformata in array.
Forse cosi funziona...non l'ho mai usato in POST, ma solo per storing su DB. Spero funzioni 
Cmq dal codice che hai postato di pare di capire che vuoi poter cancellare determinati oggetti selezionandoli via Checkbox...
Non sarebbe piu' facile assegnare ad ogni check valori incrementati e controllare i valori in POST ciclando gli indici dell'array POST?
Es.
Codice PHP:
<input type="checkbox" name="can1" value="$riga->IDMessaggio">
<input type="checkbox" name="can2" value="$riga->IDMessaggio">
<input type="checkbox" name="can3" value="$riga->IDMessaggio">
.....
<input type="checkbox" name="canN" value="$riga->IDMessaggio">
<input type="hidden" name="nchk" value="N">
e poi nel codice di controllo cicli il POST
Codice PHP:
for($i=0;$i<$_POST['nchk'];$i++)
{
$ind = "can".$i;
if($_POST[$ind])
{
//fai quello che devi
}
}