1) Nothing's been changed yet.
2) The only overhead it adds if you don't use it is two if's with very simple conditions.
3) It only unclobbers when there's a code block, because it's only when there's a code block that db_multirow clobbers any variables (a current slight difference from Tcl's foreach, actually).
4) I think I disagree with this statement, although I'm not sure what "one thing" means in this context: "Pesonally I feel it is the job of the page programmer to work out these naming conflicts. The tcl/adp page are one thing. In fact the entire set of code that is executed in response to a request is one thing. Ignoring this fact will lead to bugs which are hard to trace."
The whole idea behind ad_page_contract is to document which parameters the page takes and which properties it supplies for the template designer. That's why ad_page_contract is defined in a file called tcl-documentation-procs.tcl, and that's why I still consider page parameters and properties, including the names of columns in a multirow proprety, part of the page's public API.
It seems like we disagree on this point. Fair enough.
5) It's not a non-core change, because since I'd run into this problem before while following the coding style which I prefer and thought was fairly standard, I figured it was a general problem and I believe these are best solved with general solutions.
6) Yes, the logger page I am working on is going to become part of the newly released logger pacakge, but obviously if people (and yes, I'd like to hear the opinions of more people) are opposed to adding -unclobber, I'll have to rewrite things a bit.
7) Please don't take your general frustration out on me. I haven't committed anything. I posted to ask for people's opinion. I didn't manage to get opinions from many different people, but I did get your opinion quite clearly, thank you. :)