I think Til's suggestion is the elegant solution if it works. I use the same technique in an index.vuh script which would correspond to your originating tcl page.
index.vuh
# Put common values into form vars
set vuh_title "some value"
set vuh_user_id "some other value"
rp_form_put vuh_title $vuh_title
rp_form_put vuh_user_id $vuh_user_id
...
# Be *really* careful about recursion here. There is no
# protection as far as I can tell. Symptoms are sudden
# unexplainable aolserver restarts.
rp_internal_redirect "anotherpage.tcl"
anotherpage.tcl
ad_page_contract {
...
} -query {
{vuh_user_id}
{vuh_title}
}...