Q: Is the BCEL thread-safe?
A: BCEL was (deliberately) not designed for thread safety. See "Concurrent Programming in Java", by Doug Lea, for an excellent reference on how to build thread-safe wrappers.
Q: Can I use BCEL in a commercial product?
A: Yes, this is covered by the LGPL, if you add a note about the original author and where to find the sources, i.e., this URL.
Q: (Typically for users of SUN's XSLTC) I'm getting
de.fub.bytecode.generic.ClassGenException: Branch target offset too large for shortwhen compiling large files.
Q: Can I create or modify classes dynmically with BCEL?
A: Since 4.4.0 BCEL contains useful classes in the de.fub.bytecode.util package, namely ClassLoader and JavaWrapper. Take a look at the ProxyCreator example.