"residuati bellici"

Ogni volta che viene eseguita una scrittura su una determinata memoria, avrdude provvede alla sua cancellatura. Leggete bene: "ogni volta che viene eseguita una scrittura su una DETERMINATA memoria". Quindi, se si scrive sulla Flash, PRIMA essa viene cancellata e poi ci viene scritto sopra il nuovo contenuto.
Avrdude permette di leggere e scrivere su qualunque memoria del microcontrollore: basta specificare la memoria con il parametro "-U". Se però si scrive uno sketch, viene passato solo il contenuto della Flash e viene invocata la scrittura (con relativa cancellazione) solo della Flash.
Per leggere e scrivere sulla EEPROM si deve specificare "-U eeprom:ecc....". Ma l'IDE passa il contenuto solo della Flash. Ecco perché la EEPROM non viene toccata quando si carica uno sketch. Se non ricordo male, infatti, nelle ultime 2 locazioni della EEPROM gli Atmega montati sugli Arduino una volta riportavano una coppia di caratteri (non mi ricordo per cosa) che, anche dopo 100 caricamenti di sketch, erano sempre lì.

Se invece si vuole piallare il chip va specificato il parametro "-e", che è l'unico che formatta ogni tipo di memoria del microcontrollore prima di effettuare una successiva riscrittura.