Are you using the standard demo?
What do you do to cause the error?
I am running the standard demo. I can send a text file to the Keil demo board that is severl KBytes long and the program carries on executing with no errors.
I can send many MBytes of data to the ARM chip all in one go at 115200 with no source code optimisation. When I do this it is possible for the queue of characters to be Txed to fill up and stop. I think this is because TRHE interrupts are being missed (see fix below). However the kernel continues without error or abort.
If I stop the task from emptying the queue then the behaviour is exactly the same and there are no problems.
The serial ISR as downloaded contains a while loop. If you comment out the line:
// while( lDidSomething )
then the THRE missing problem goes away. With this line commented out I have sent 10 Megs of data at 115200 baud and experienced no problems at all.
All I can suggest is that you send me your entire project file for the Keil board. I will try it here and let you know what I find.