starting my own threads within python paste
To answer your basic question directly, you should be able to use threads just as you'd like.  The "killing hung threads" part is paste cleaning up its own threads, not yours.
There are other packages that might help, etc, but I'd suggest you start with simple threads and see how far you get.  Only then will you know what you need next.
(Note, "Thread.daemon" should be mostly irrelevant to you here.  Setting that true will ensure a thread you start will not prevent the entire process from exiting.  Doing so would mean, however, that if the process exited "cleanly" (as opposed to being forced to exit) your thread would be terminated even if it wasn't done its work.  Whether that's a problem, and how you handle things like that, depend entirely on your own requirements and design.
I'm writing a web application using pylons and paste. I have some work I want to do after an HTTP request is finished (send some emails, write some stuff to the db, etc) that I don't want to block the HTTP request on.
If I start a thread to do this work, is that OK? I always see this stuff about paste killing off hung threads, etc. Will it kill my threads which are doing work?
What else can I do here? Is there a way I can make the request return but have some code run after it's done?
Thanks.