Communication components should be used with the smallest possible buffer. Thus the user should compute or check the maximum size of the buffer during execution of the application. For this purpose the method GetCharsInTxBuffer/GetCharsInTxBuffer (AsynchroSerial component), which gets current size of a used buffer, can be used after each time the SendBlock/RecvBlock method is called.
Use interrupts if you require faster application response. The interrupt routine is performed only at the event time, that is the code does not check if a character is sent or received. Thus the saved processor time can be used by another process and application is faster.
Use polling mode instead of interrupts if you require less code because usually overhead of interrupts is bigger than overhead of methods in polling mode. But the polling mode is not suitable for all cases. For example when you use the SCI communication for sending only the data, and a character is sent once in a while, then it is better to use the polling mode instead of using interrupt because it saves the code size, that is when the interrupt is used an interrupt subroutine is needed and code size is increased.