Hola Antonio!
perdona pero no he entendido en qué estàs con la comunicaciòn. Tenìa entendido que habìas solucionado los problemas y estabas recibiendo algo en la pc: si no es asì dime en que punto te quedas.
Con respecto al run time error, ¿has intentado poner un valor en tu variable CR? ¿Y què has obtenido? Si el error de buffer permanece, puede ser que el PIC no envìe nunca el carriage return: ¿es cierto que este es transmitido? ¿Y has examinado el buffer para ver què contiene en el momento en que recibes el error (anteriormente te aconsejo que lo llenes de zeros con memset)?
¿Y has intentado usar el ComRd para leer tan sòlo 2 caracteres?