I've played with the welcome app servers a bit and found that the next significant problem is that we aren't setting the Bundle-ClassPath manifest header in our car bundles. This shouldn't be an obstacle for ejb jars, but is for anything else.
My plan is to solve this as part of GERONIMO-4911
by storing all the manifest info in the ConfigurationData. Perhaps this can replace some of the info in the environment field, although that is also used to figure out which plugins need to be started before the current one.