Struct at overrun error and framing error in USART PIC18F4550
Not sure if this is the totality of the root cause, but these are definitely problems in your code:


  if(PIR1bits.RCIF=1)


That's the classic assignment-vs-comparison-operator error. I'm sure you meant == instead of =.


  myMsDelay(15);


A delay inside of an interrupt routine is a big no-no. You're already blocking your regular code flow since you're in the ISR. Now, you're delaying for 15ms within the ISR, which is blocking even the ISR itself from running. My guess is that's probably why you're getting overruns. The code is spinning on that delay while new characters are arriving on the buffer. But your ISR can't service them because it's stuck in that delay function.