mi correggo, l'array $cc ancora non è formato bene, probabilmente quel $in_array è falso qualche volta di troppo 
codice:
$cc['mNodes']=array(); $index=0;
while($row=$res->fetch(PDO::FETCH_ASSOC | PDO::FETCH_GROUP)){
$in_array=false;
for($x=0;$x<$index;$x++){
if($row['id']==$cc['mNodes'][$x]['id']){
$in_array=true;break;
}
}
if($in_array==true) {
$numMassime++;
$cc['mNodes'][$index]['massima'][$numMassime]=$row['massima_id'];
} else {
$numMassime=0;
$cc['mNodes'][$index]['id']=$row['id'];
$cc['mNodes'][$index]['testata']=$row['numero_pronuncia'].'/'.$row['anno_pronuncia'];
$cc['mNodes'][$index]['massima']=array();
$cc['mNodes'][$index]['massima'][$numMassime]=$row['massima_id'];
$index++;
}
}