Interrupt-driven RX is almost always a necessity (especially as the baud rate increases) unless your application spends most of its time waiting for commands from the SCI that return an acknowledgement to the other side before it sends the next command.
Interrupt-driven TX, on the other hand, is not a necessity (especially as the baud rate increases) but it provides smoother transmission between characters of a single message/packet/whatever and, depending on the size of queue used, can free up the main program immediately when arriving at 'print' statements. This may speed up the program's overall responsiveness and, if dealing with a user terminal, and have an RTOS it will appear more smoothly rather than irregular sized chunks of text arriving in bursts.
Now, if your baud rate is such that by the time you fetch the next byte the previous one has already been sent (or there about), then there is no significant advantage using interrupts. Polled mode may actually be a better choice since the coding is usually smaller (and easier).
Nevertheless, if you need an example for int-driven RX/TX have a look inside:
http://aspisys.com/asm11d84.zip
Look for file SCI_INT.MOD (68HC11 assembly language, very similar to HC08) from which you can derive the flowchart to use with your programming language (if not assembly). The key is turning off TX ints from within the interrupt handler when TX queue is empty so it stops firing, and turning them back on when any byte is added to the TX queue. See the code for more.