Seu microcontrolador pode ter alguma EEPROM, memória OTP, bits de fusível do usuário, onde você pode definir um sinalizador.
Não existe um "melhor método no C incorporado", a gravação de memória não volátil é diferente em cada microcontrolador.
editar:
INSTANTÂNEO
O conteúdo da memória flash é apagado durante a programação do dispositivo. Após a programação, todos os bytes que não foram gravados contêm 0xFF. Consulte a folha de dados para encontrar uma área que pode ser programada com segurança no firmware em execução.
EEPROM
Embora não seja garantido nas folhas de dados, todas as EEPROMs que eu vi até agora continham 0xFF: s quando enviadas da fábrica (exceto as pré-programadas com um endereço MAC exclusivo, mas explicitamente documentado). Alguns dispositivos / softwares de programação também podem apagar ou programar o conteúdo da EEPROM. Alguns podem ser protegidos contra gravação, de forma permanente ou reversível.
OTP
A memória programável única contém sempre valores iniciais bem definidos, documentados na folha de dados.
É sempre uma boa ideia incluir uma boa soma de verificação, como o CRC32, com os dados gravados, para proteger contra corrupção de dados causada por peças defeituosas, erros de transmissão, raios cósmicos, qualquer que seja.