Hello,
A further observation - it is not a good idea to call the print() function from within the ISR because it is a complex function, and its execution time may be unpredictable. If it took longer than about 260 microseconds to execute, this could create a problem for your code. Try reducing the baud rate from 38400, and see if the problem persists.
The more usual approach is to store the incoming bytes in a global buffer that can be read and displayed from within main().
What serial port does the printf() function use - is there a conflict with your use of SCI1?
Regards,
Mac