Hi,
As I understand it, you do not have to re-enable Global Interrupts within your ISR, it is done automatically when you exit the ISR.
I wouldn't have thought it necessary to re-enable the CMIE either.
Also, there is no need for the return instruction, at the end of the ISR a RETFIE (fast return - if high priority interrupts enabled, or regular return otherwise) is automatically executed.
Always difficult to diagnose a problem when not seeing the ISR in the full context of the entire code.
EOE!