ah... così alla fine hai cambiato il nome dei checkbox... in questo caso non hai una collezione ma N checkbox con nomi diversi.
Se volevi mantenere il nome 'idfoto[]' potevi fare così
codice:
$progressivo = 0; 
        while($array = mysql_fetch_array($result)) 
        { 
echo"<td width=\"$cell_width%\" align=\"center\"> 
<a href=\"#\" onclick=\"var ck=document.modulo.elements['idfoto[]'][$progressivo];ck.checked=!ck.checked;return false\" title=\"fai click sull'immagine per selezionarla\"> 
<div class=\"imageBox\"> 

     
<div class=\"imageBox_foto\" style=\"background-image:url('../$array[nome_file]');\"></div> 
<div style=\"float:right; text-align:right;margin-top: -22px; margin-right: 7px;z-index:1\"><input name=\"idfoto[]\" type=\"checkbox\" value=\"$array[idfoto]\"></div> 
     

    </div></a> 

</td>"; 
$progressivo=$progressivo+1;
}
però in questo caso dovresti fare attenzione che nel ciclo ci siano almeno 2 elementi altrimenti l'indice da errore