John: It sounds like LGPL doesn't force me to open source my project but it does require me to allow the user to relink newer versions of the LGPL'd lib into the application and require me to allow reverse engineering of my application. [...] It is looking like it's something to be avoided in a commercial app though.
If the LGPL library is a separate JAR, it is trival to relink. In fact, I'm not sure how you would prevent it in Java. And the reverse engineering is only to debug compatibility issues with the replacement library, which doesn't seem to me to be unreasonable terms, even for a comercial app.
(aside, perhaps you were speaking in general, not just about Java. If the LGPL library is provided as a DLL/SO library, then relinking is still easy.)