Having had the recent opportunity to root around in Java code that chains exceptions [...] a lot, I think I'm against that approach.
I understand where you're coming from, but don't forget that the annoyances about chained exceptions are MUCH worse in Java than they would be in Python because Java's checked exceptions (plus a bit of poor code design) practically require every single layer of code to wrap the exceptions from the layer below. In Python you could just ignore them unless you had something new to add. (Of course, that could be done perfectly well *without* chained exceptions also...)
-- Michael Chermside