Dave, I'm revealing more about my lack of understanding of the 4.x api than I wish I were. Very nifty solution you provide here!
I guess I misunderstood Hrvoje's writeup (that Jeff mentioned here https://openacs.org/forums/message-view?message_id=52555) as meaning that you had to stick the tcl in adp. I should read more and post less!