I think you might have a typo by having ($this) vs $(this);
Also note that there is a delete operator in javascript so you might want to try another function name.
You might also be suffering from a cache somewhere (web servers by default set a cache for .js files)
in fact the answer belongs to @vittore.
I'll just try to explain a little better what was happening:
the live () fn was inside the page that I was loading. And on the first load () the live fn asigns the handler to click. BUT when you use unload and then remove all the lements from that page the conecction between click and handlers remains.
And when I was loading again the same page (without refresh), the live function will keep the old handler and also atach the handler again, and so on every time load () it is used.
the trick it's to use die () before unload (). BUT one more thing to take in account: we can't use chaining with live() ($('div').children().live() will not work ) AND ALSO although:
$('.div .ctr').live() will work.
just calling $('.ctr').die() will not work.
So you have to use for both fn the same selector $('.ctr').live() and then $('.ctr').die()
maybe this will help someone. AND also check the new 1.4.2 delegate () and undelegate ()