Hola.
¿cada vez que salte la interrupcion sera porque llega un caracter nuevo?
Si, asi es.
El buffer donde guarda el PIC la informacion es de 8bits, la interrupcion del micro salta cuando detecta el bit de start (cuando se envia desde PC) del primer byte del string "hola".
Esque si es asi, a mi no me funciona ya que solamente pasa dos veces.
El codigo que tu tienes no es el mas adecuado ya que al enviar el ASCII
h salta la interrupcion y se guarda, pero despues estas enviadando algo por el serial y haces una espera, en ese tiempo pueden estar llegando mas bytes desde el PC al PIC, informacion que estas perdiendo y que satura el buffer de recepcion del microcontrolador. Que pase dos veces con tu codigo no significa que entre dos veces en la interrupcion, de hecho solo entra una vez.
Para que sea mas claro, has debugg con el proteus y coloca un breakpoint en la parte de la interrupcion y checa como entra a la interrupcion con cada byte.
Saludos