Creo que necesitamos más información para poder ayudarlo a encontrar por qué no está leyendo datos de Matlab. Pero primero, la respuesta a tu pregunta
¿Qué cambios hay entre el modo depurador y el programador?
Hay algunas cosas que son diferentes, ninguna de las cuales, creo, está afectando tu capacidad para leer datos en Matlab. La principal diferencia es que cuando cambia al modo de programador, no puede detener el programa a mitad de la ejecución, es decir, descarga el HEX en su dsPIC y no hay más interacción. En el modo de depuración, puede establecer puntos de interrupción y pasar por la ejecución del HEX, mirar el contenido de los registros, etc. Además, el programa debería comportarse exactamente igual.
Aquí hay un par de cosas que vería
1.- Cuando te refieres a "eliminar de ICD3" interpreto que lo desenchufas. Si ese es el caso, entonces asegúrese de tener una base común. Es posible que no compartas un terreno con tu PC, que estaba allí cuando recibiste el ICD pero ya no.
2.- Asegúrese de que no haya saturación de tal manera que cuando pase por el dsPIC pueda mantenerse al día, pero cuando esté en "ejecución libre", se sobrecargue.
Espero que esto ayude