Do the nodes which get stuck have additional flash memory chips on them, and the ones that don't get stuck don't have additional flash memory? In the past I reported an apparent bug which relates to that. If you wire your DTR pin to ground on the nodes which have the problem, does the problem go away? Which version of Arduino IDE are you compiling with? If you compile using Arduino IDE 1.0.6, does the problem go away? There is another fix which you might also try if those don't work, but it's more involved. So, please report back which, if any, of the above solved your problem.
I use ListenMode as a wakeup timer all the time, and I've never had a problem with it failing. Based on your description, it's almost impossible that it is the root of your particular problem.