Woody,
I know it's a PITA to do, but you might consider changing the brown out protection fuse of the Arduino's processor. The Arduino bootloader has it set for a fairly low voltage so that people can run it at either 5V or 3.3V (with the clock slowed down), but that means that if you are running it at 5V and voltage drops its memory can get corrupted. I did have this happen once, and it completely took out the bootloader and the board became unusable until I re-burned it. If you raise the brown out voltage, the processor will do a reset or shut off (depending on how some other fuses are set) rather than be damaged. The DC-DC converter should have a pretty stable output, so this is a bit like wearing both belt and suspenders. BTW: "fuse" here has nothing to do with a "fuse" that opens a circuit when too much current is drawn. It is a low-level firmware setting that determines how a processor behaves in some defined circumstance.
Best source I've for such low-level programming matters is
http://www.gammon.com.au/forum/index.php?bbtopic_id=123, though you would have to hunt around there to find what's most appropriate for what you want to do - Nick Gammon has written ingenious stuff to really make the Atmega processors "dance", but there are similarly named posts that discuss doing either specific things or very general things so patience and careful reading is needed. He also has an excellent and very complete discussion of power saving/sleep modes. I do recall some thread on the Arduino forums specifically dealing with the brownout fuses, but finding things there can take a lot of perseverance.
Ciao,
Lenny