Bueno, parece que este foro tiene cierta "Magia"
Llevo varias horas peleándome con el mismo problema sin saber por donde puede estar la solución.
Nada más postearlo en el foro se me ocurre probar la rutina de inicialización y ¡¡DESCUBRÍ EL PROBLEMA!!

La instrucción que me da problemas es:
// CORCON: CPU CONTROL REGISTER
CORCON = 0x0000;
Si la quito, se imprime todo OK sin que el micro se resetee.
El problema parece estar en este bit, que he puesto a cero y debería estar a uno:
// PSV: Program Space Visibility in Data Space Enable bit
// 1 = Program space is visible in data space
// 0 = Program space is not visible in data space
Saludos.