Gracias por responder migsantiago!
En otros microcontroladores (18F452 y 18F877) la funcion interrupt_active funcionaba correctamente... pero en este no. La idea del primer ejemplo es correcta y era:
1) fase: deshabilitar interrupciones, guardar su estado, deshabilita interrupciones, ver el primer estado (que el resultado fue correcto)
2) face: habilitar interrupciones, guardar su estado, deshabilita interrupciones, ver el primer estado (resultado incorrecto)
Conclusion: Siempre interrupt_active () devuelve false!!!!!!!
otra prueba que realice fue la siguiente:
#define INTCON 0x0FF2
#define GIE 7
if (bit_test (INTCON,GIE))
ACTIVA = TRUE;
pero esta no compila. Estimo que esto debe ser por la ubicacion del INTCON en 0x0FF2.