Conseguí solucionar el problema, pongo aquí la solución por si a alguien lee este post y le ocurre lo mismo. (Es muy frustrante cuando uno encuentra a alguien preguntando exactamente lo mismo que se necesita pero luego no hay respuestas ni soluciones, jejeje)
El asunto era que, al emitir el comando CSQ para ver la señal disponible (que tienes que tener conectada una antena para que te salga algo de señal), pues, yo recogía la respuesta con una función que diseñé que consistía en recoger y mostrar por pantalla todos los caracteres hasta recibir "el indicativo del fin de la respuesta", es decir "los saltos de línea <CR><LF>".
El problema estaba en que, la instrucción CSQ, no da una sola línea de respuesta sino dos (+CSQ: x,99 y otra línea con OK).
El programa se quedaba bloqueado al no recoger esta segunda línea, y, aunque funcionaban instrucciones como llamar (que no entrega respuestas) no iban las instrucciones necesarias para los SMS, que sí tienen respuestas.
Para todo esto, una gran ayuda es tratar antes de comunicarte con el módulo GSM mediante el hyperterminal, y una vez hecho desde allí, traspasar todo a instrucciones del PIC.
Un saludo,
Epsilon741