Какой занятный ассемблер. А по сути вопроса... ... в eeput16_inc не вижу собственно записи в EEDR и неплохо-бы убедиться в том, что запись завершена. Можно тупо скопировать процедуру из DS:
EEPROM_write:
; Wait for completion of previous write
sbic EECR,EEWE
rjmp EEPROM_write
; Set up address (r18:r17) in address register
out EEARH, r18
out EEARL, r17
; Write data (r16) to Data Register
out EEDR,r16
; Write logical one to EEMWE
sbi EECR,EEMWE
; Start eeprom write by setting EEWE
sbi EECR,EEWE
ret