Aaron,
Thanks. You seem to be getting automatic errors from TM, even though your calling code neither creates a transaction nor calls t_relay(). This is because the wrappers provided by the 'async' module utilise TM internally; async_route() really 1) creates a transaction in TM 2) t_suspends() it 3) t_continues() it, at which point there is TM involvement.
One bit of idle speculation: did you happen to set this core parameter?
http://www.kamailio.org/wiki/cookbooks/4.3.x/core#async_workers
If not, try set it to some value. This is subtly different from the 'workers' modparam to the 'async' module.
-- Alex