Well, it looks like the changes to allow me to make multiple Deadwood snapshots in a single day are really paying off; it is making me more productive with Deadwood, because I no longer have a reason to "rest on my laurels" after making a Deadwood snapshot.
I have just uploaded a Deadwood snapshot that can take a DNS-over-TCP query, convert the query in to a UDP query to send upstream, get a reply from the UDP server upstream, and send the reply back as a TCP DNS reply.
I have only tested this code in my CentOS 5 virtual machine.
The code is a little rough; for example, this conversion process doesn't look to see if we have a cached reply before sending the query upstream. Also, I'm not sure I have the code in place to close idle TCP connections. But, the code is usable and works, so I feel confident uploading this (as deadwood-Q-20090426-2) and making another snapshot tomorrow with the rough edges cleaned out (caching, closing idle sockets, compile-time warnings, and Windows support)
It can be downloaded at the usual place