The curious thing is that resetting the mcu in the debugger or by grounding nRST *always* brings up the app correctly. So what's the difference between a power on reset and an external nRST reset?
I checked for power glitches and haven't found any. I set up a slow square wave on a function generator to repeatedly apply power to the board at 1 second intervals. All the VDD pins ramp together to 1.8V over the course of 1mSec, so I don't think the problem lies there.
Any suggestions on where to look next?

