I just activated the Low power with the macros, but i think there is a problem in the firmware of the ZigBee End Device example. The first time before joining network it just works fine. It enters this section in app_end_device_node.c the APP_cbTimerPoll method:

Cofigures mode 4 of deepsleep, and in the pwrm_shim.c file I can debug this section

the method PWR_CheckIfDeviceCanGoToSleep() returns TRUE so it can go to sleep.
But after node joins a network, it enters here in app_end_device_node.c the APP_cbTimerPoll method:

And vStopAllTimers(); should clear all timers that prevents enter low power mode, but there still is one timer that doesn't clear the global variable mLPMFlag that keeps value of 1, so, this method:
bool_t PWR_CheckIfDeviceCanGoToSleep(void)
{
bool_t returnValue;
OSA_InterruptDisable();
returnValue = mLPMFlag == 0 ? TRUE : FALSE;
OSA_InterruptEnable();
return returnValue;
}
Always returns false. So in the pwrm_shim.c, the code after condition could never be executed to enter low power mode:
if(PWR_CheckIfDeviceCanGoToSleep() && ((TRUE == s_bWakeTimerActive)||(3 != PWR_GetDeepSleepMode())))
{
PWRLib_WakeupReason_t wakeupReason;
wakeupReason = PWR_EnterLowPower();
...
}