Hi MDavid,
The behaviour you are describing is indeed surprising.
Let me first re-assure you as milions of these devices have already been shipped in the last years and work perfectly. That's why I would like to concentrate on your application.
I don't say it's not possible to have a device failure but all of them (no exception) are tested before leaving the factory.
Having bits going from one state to another without anyone touching them is called "bit-flip".
It does happen when the programming timings are not respected.
If you think as a Flash cell as a tyre with a slow leak. In our case, the air are electrons, and the tyre is the floating gate of the transistor making the bit cell.
Due to the technology (nothing linked to Freescale or any other manufacturer), some electrons will migrate with time. A one or a zero is recognized if the transistor is passing or not.
If not programmed properly, a tiny loss of electron may basculate the level of the transistor.
However, as you don't only program this byte but all the others, you should see other occurences.
I suggest you do a dump of the memory and see if the Flash/EEPROM matches your S19.
Another probable cause is code run-away.
As you mention the power-up sequence solves you problem after a few occurences.
Do you use LVI routine to detect low voltage conditions ?
Cheers,
Alban.