Ok, now I feel like a dufus. The problem appears to be a function of the jtagiceII, the one variable I never changed while pulling out my hair last night/this morning. (At least my pcb's are proven good now) - WIth it (jtagice) removed, toggling the reset pin causes normal execution. So it would appear my jtagice interacts radically differently with the Mega644 than with most of our other designs (which use 162 and 128 mostly). Note this behavior happens with the reset pin on the jtagice disconnected as well, so it's not like the jtagice is holding the device in reset continuously, which it is known to do. Who knows. The only major annoyance is now ripping the jtagice off this tiny board every time we program and touching the reset pin with a resistor (no mean feat on an MLF/QFN package <whine>).
Y'all are going to start ignoring my posts any time now, I know it ;)