Status Register may be of interest.
Hi,
The Status register contains two bits :
1. Time Out (bit4)
2. Power Down (bit3)
A watchdog timer wakeup would cause the timeout to be zeroed.
I didn't really get the hung part of your question. Is it no wakeup even after RA2 interrupt or hung in the mid of your app.Oscillators are turned of during the sleep mode (so your osc program counter, timer dependent on osc all freezes) the next instruction is prefetched. WDT has its own oscillator (internal RC). It could be startup problem for your crystal may be a 10Meg resistor between its legs would help or different cap values. Also use the powerup timer if your wake up event is not that time critical.