devi mettere come valore limite del ciclo for un numero fisso, altrimenti quando elimini elementi dell'array il count ti dà una nuova dimensione.

$temp=count($_SESSION['prodotti']);
for ($kk = 0; $kk <= $temp; $kk++) {