Wait!
Robert,
If I understand what you are saying, there are query variables that are not referred to in the parent call to ad_page_contract, so if the query vars are not parsed in the include, the query params are never set, so we need to parse the query for the include also.
The intention is that if you happen to refer to the same variable in the parent page and the include that ad_page_contract does not cause an error. This is the opposite of what you are doing, I think.
Right now if this happens ad_page_contract tries to create a variable that already exists and causes an error.
So maybe the key is to check is the variable already exists before trying to create another one?
Jun, would this work for what you are trying to do?
I'd rather not create another proc unless there is no other solution that does not break existing code.