After programmatically setting the resolution through an app, how can I make the device remember the new setting?
Several options:


modify the boot image accordingly, or
use init.d scripts if your device supports them (if not, there are some apps to achieve that). Or,
use an automation app to do that on BOOT_COMPLETED (e.g. tasker supports that, e.g. running a script on BOOT_COMPLETED – called "device start" there IIRC).