do you have logging that shows what time is spend in what parts? Maybe some parts can be turned off.
The 20 seconds is spent in the "INFO Contexts - starting up: org.jboss.seam.bpm.jbpm" section, mostly between the lines "DEBUG JpdlParser - original systemId as input source" and "DEBUG JbpmContext - closing JbpmContext"
Found the solution! My company requires the use of a proxy to access the Internet, and since I didn't have Tomcat set up to use it jBPM was hanging on locating the DTD for my pageflow.jpdl.xml file. Setting the proxy fixed it, and now jBPM initializes in just a couple seconds :)
FYI: I discovered this because when I upgraded my JSF implementation from 1.2_02 to 1.2_05-RC1 it also hung for a while, but then most fortunately threw an exception (instead of hiding it like jBPM)