Ciao e grazie Andrea, guarda come ho risolto:
codice:
function ctrl_check(a,b) {
	if (a.checked==false) {
		var e=document.condivisione_dati.elements;
		for (var i=0; i<e.length; i++)
		if (e[i].type=="checkbox" && e[i].name==b) {
			e[i].checked=false;
			e[i].disabled=true;
		}
	} else {
		var e=document.condivisione_dati.elements;
		for (var i=0; i<e.length; i++)
		if (e[i].type=="checkbox" && e[i].name==b) {
			e[i].checked=false;
			e[i].disabled=false;
		}
	}
}
questo è il checkbox principale
<input name="ca<?=$rows2[id];?>" type="checkbox" value="<?=$rows2[id];?>" onclick="ctrl_check(this,'cn<?=$rows2[id];?>');"<? if ($ok_az) echo " checked"; ?> />

questi sotto i checkbox secondari creati dinamicamente con PHP grazie ad un ciclo
<input name="cn<?=$rows2[id];?>" type="checkbox" value="<?=$rows2[id];?><?=$chiave;?>" onclick="if (this.checked==true && document.condivisione_dati.ca<?=$rows2[id];?>.checked==false) { document.condivisione_dati.ca<?=$rows2[id];?>.checked=true; }" />

In questo modo funziona tutto:
il clic sui secondi input abilita il primo automaticamente; la disattivazione del primo innesca la disattivazione e deselezione degli altri.

CIAO!