Jun, I don't think Tom's accusing you of making changes willy-nilly to the core APIs. This is not the first time the subject of changing the core API without notice has come up - just the first time in awhile because we've educated ourselves not to do so.
But a bunch of us have made this particular error in the past, don't feel like you're being singled out other than of course you happened to make this particular change.
As far as ad_page_contract itself goes, I agree with Tom and would personally prefer that it flag as an error any existing Tcl var with the same name as one of the vars listed as potential GET or POST values being passed to the page. I don't feel strongly enough about this to post a TIP but I'm not supportive of your suggested change, either.
And to make things clear, that's in no way personal, I just disagree with your thinking in this particular case.