Ho scoperto a cosa era dovuto: mai come adesso avevo impostato la scadenza del cookie a 2 anni nel modo seguente:

cook.Expires= DateTime.Now().AddYear(2);

e secondo me un valore di scadenza del genere non è accettato dai browser, infatti poi ho cambiato e l'ho impostato a 100 giorni:

cook.Expires= DateTime.Now().AddDay(100);

e tutto funziona.