Schematic is not really readable, but looks ok to me.
I'd like to know if you can get proper sleepwhen you put the INTCON=% instruction just before the @sleep instruction : it clears the flags and sets up for the next interrupt.
Another item which causes me a little worry is the RESUME main. Why shouldn't it resume where it interrupted??
Bookmarks