Ironically I recently ran into a bug with a coworker that was due to "this" object confusion. In his case he was using a callback to a function that specified this, then refactored to use a different function that didn't specify this and missed changing some of the code along the way (happened to be short-circuited).
<tangent>
I think this is a good reason to by default use a to-javascript language like coffeescript, or anything else for that matter. (It seems that never a day goes by that I don't think of a reason). Since it is compiled you can do basic syntax and logic checking and fail to compile in many cases. With better support for modules this can only get better and better. I suspect that we will go even farther in coming years in terms of some functionality that people are used to in their IDEs (intellisense, refactor helpers, real-time syntax checking, etc.) for javascript and to-javascript languages. Hopefully the era of "change a bunch of stuff and see if it breaks in the browser" is coming to an end. Some might say that we should be using tests (and I agree) to validate our software, but the people who aren't going to do it simply aren't going to do it no matter how good or bad the tooling support is. Just might make things easier on some of the rest of us. Also, I think it is a win for the community that a project like rails moves to support coffeescript by default, and hopefully we'll see similar moves by others.
p.s. I don't hate JavaScript
</tangent>
I think this works for jQuery, since everything is the DOM, and therefore everything is an element, so there should pretty much always be an element to use for "this". In other words, their API is pretty homogeneous.
Still, I think I prefer the explicit route in most cases. I like the idea of coffeescript's fat arrow syntax to enable keeping this in the scope of the current object inside of "instance methods", and avoiding abusing it in other cases where it isn't necessary (as in jQuery).