Que tal amigos!
No lei mucho pero aqui voy

No he utilizado ese micro que comenta el amigo pic12f675, pero he utilizado el pic16f628 con oscilador interno de 4Mhz para comunicar dos pic y el pic con la pc y me a funcionado casi siempre bien

porque casi siempre bueno porque al programa le faltaba un detallito

cundo utilizaba la instruccion Serout y envia por ejemplo "ABC" la A no la enviaba bien pero los otros caracteres si, porque?

Bueno la respuesta esta en el famoso he intrincado protocolo RS232

En estado de reposo (IDle) el pin utilizado para comunicarse con el pc estar configurado como salidas y debe estar a uno logico

antes de enviar los datos (trama) sino es asi, al ejecutar la instruccion serout el primer dato puede que no llegue

mientras que los otros si

esto porque una vez que la instruccion es ejecutada la instruccion configura el pin como salida y lo pone a uno cuandoi esta en reposo ( claro esta esto depende de la configuracion del serout

)
Si tomas en cuenta estas breves reflexiones ya tendras algo menos en que pensar

Saludos