I may have found the disturbing answer to my question. According to the code I'm looking at in modules/tm/t_reply.c it adds this comment after sending the reply with body:
/* this is ugly hack -- the function caller may wish to continue with
* transaction and I unref; however, there is now only one use from
* vm/fifo_vm_reply and I'm currently to lazy to export UNREF; -jiri
*/
UNREF(trans);
Does this mean the transaction is released after using the t_reply_with_body () function? If so, is there any way around this?