The hserout command won't send a character unless the buffer is empty. It does move on to the next command while the last character is being sent.

I've seen it lose the last character if you put the PIC to sleep or hit an END command before the character is completely gone.