Hi David
If you change $tU outside a branch route, kamailio just appends the new value to the existing one.
You have to use branch routes, the changes are only valid in the branch so if the branch fails without the call being connected (and for example a failure route is triggered) you can set $tU again in the next branch.
Mit freundlichen Grüssen
-Benoît Panizzon-