Clear the heap?

a sketch that uses 1250 or so bytes of memory on a Mega 2560. After 24-48 hours, it seems to hang. I've made every variable and object I can find global in an attempt to eliminate what I suspect to be a stack overflow.

It's relatively easy to check for whether stack overflows have occurred.
At the start of your program, go ahead and malloc() a hundred bytes or so of memory, and fill it with a known pattern.
Periodically check whether the known pattern is still there.
IMO, it's unlikely that a program using 1250 out of 8k RAM for static and global variables would actually "overflow" the stack; arduino libraries KNOW that they're on a limited-RAM system and are usually pretty careful about using stack space. It's more likely you have a "buffer overflow" or similar bug that is writing somewhere beyond where it is supposed to be writing...