Decided to go ahead and do proof of concept...which went well...so it should be done tomorrow.
Refined the concept a bit:
1. Image file is now a single file containing all parts, located in the root of the sdcard. Not done yet, but I'm planning to lightly encrypt the file.
2. Two ways to generate the image: a) via retentive DSTs and a reboot, or b) through a utility in DmD.
3. In addition to the program, ipconfig, and password config, we've added an optional check for $ProductID and an optional password.
4. If specified, the password is checked against the password config in the PLC (if present) and requires appropriate permissions for all data types in the image...missing permission == no update.
5. If specified, the specified product ID must match $ProductID in the PLC or no update. This allows an OEM to distribute an image that can only update an already programmed PLC, while keeping a different image in house for production.
6. To do an image restore, the sdcard with the image must be installed, the mode switch must be in STOP, and the PLC rebooted.
This may not be immediately obvious, but since the image options are defined in DSTs, and the PLC can be rebooted with the REBOOT instruction, the entire backup can be automated...allowing the PLC to back itself at some interval.
To be filed under OhNoTheyDidn't: Since the PLC can email a file, and the PLC can back itself up to a file, it is now possible for the PLC to back itself up and then send itself via email.

BRX: "I'm not feeling well today Dave. I've emailed myself to you for analysis."