You don't need different threads.
The problem, I think, is the send Dv, tcpConnection-send. If you look at the right DataArithm in the main program, the send Dv is set from od1 with a StoDv, ie the od1 value will copied to the send Dv every scan. Note that the od values (and other output values) of the DataArithm are stored in the object and keeps its values to the next scan. You set do1 to 1, but I can't see any reset, so it will be 1 for ever, and so will the send Dv. And the RemTransSend is just triggered the first time. The reset in the send window will have no effect.
One way to trouble shoot fast sequences is to use the logging function i rt_xtt and start a logging with the same, or faster, scantime as the plc. Then its possible to see what happends during the short time between receive and send.
/Claes