To be fair, I only use this for debugging output and accept this problem. It can also drop characters as well. It is best to use TX8 hardware unless you are really stuck.
You are right about shadow implementation in the TX8SW module. However there is an error in the implementation and the shadow register does not come into the picture. I came across the same error and just had to add two lines of code above the shadow register implementation, to make sure it does not affect other pins of the port. Unless, you have a crunch for blocks, I would suggest hardware implementation of TX8.
What was the 2 lines of code? I really have no option but to use the TX8SW solution.
this thread is rather old and there have been updates made to the TX8SW-usermodule which is now at version 1.2.
Better have a try to test if this issue still exists.