I too have seen this type of behavior on SNMP devices in the past. Basically, the device manufacturer isn't able to or can't store these parameters in the device ROM. It could be due to a lack of space or character support.
What tends to happen instead is the SNMP daemon starts up in memory, sysName, sysLocation and sysContact is stored in memory too. So when the device reboots, memory is flushed and that's when you loose the SNMP definitions.
I've seen this with environmental probes.