This problem is the same I have.
As soon as the XBee module is configured to use anyone of the sleep modes (pin sleep, i.e.) and starts to sleep, the microcontroller stops working as well (like if there's a switch off in the circuit).
The error is easy to find:
1.- Write a very stupid program which blinks the on-board led
2.- Configure the XBee module to sleep according to Sleep_RQ state (pin 9), when Sleep_RQ is asserted XBee will sleep, when Sleep_RQ is deasserted XBee will awake
If we start the execution, the Arduino's led start to blink (this behavior is ok) and XBee tries to find a network to join in. Regardless of the result of this action, the ZigBee protocol (I am using "Series 2" modules, which work with XBee ZB firmware) leads XBee to sleep.
As soon as XBee sleeps, the Arduino's led stops blinking, like if the microcontroller were not powered.
What I expected was the Arduino's microcontroller to execute the code regardless the state of XBee (sleep / awake). I think is the behavior all people would expect.
All the examples I found (including the ones you mention, Marcos and Ecerulm) are very different from what we want to achieve. This examples only leads to sleep Arduino's microcontroller and not the radio, what is ok in certain cases (i.e., if we need the radio to be always on). But what happens if We only want to transmite messages with very low rate (once a week, i.e.)? ZigBee is great, because the sleep modes provided are very powerful on this way, and it's very easy to configure the module to awake itself (and anyothers as well).
Problem: Unexpected behavior of Arduino in a common situation, when sleeping XBee's modules.
I am using XBee Shield from Libelium, Arduino and XBee Modules (either series 1 and 2). I tried several configurations, but none of them worked propertly.