JAXP can be a pain when it comes to containers. That's actually why I would suggest you to use OSGi and do it through a Factory providing Service 
Now, to make Crowd work on Resin 3.1.9 (I am using Crod 2.0.2), what it really needs is to set all required parser factories using corresponding system properties. Now, Crowd uses XFire, XFire works best with WoodStox, and voila
<web-app id="/crowd" root-directory="webapps/crowd" >
<system-property javax.xml.parsers.DocumentBuilderFactory=
"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory=
"org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<system-property javax.xml.transform.TransformerFactory=
"org.apache.xalan.processor.TransformerFactoryImpl"/>
<system-property javax.xml.stream.XMLInputFactory="com.ctc.wstx.stax.WstxInputFactory" />
<system-property javax.xml.stream.XMLOutputFactory="com.ctc.wstx.stax.WstxOutputFactory" />
<system-property javax.xml.stream.XMLEventFactory="com.ctc.wstx.stax.WstxEventFactory" />
</web-app>
Setting these properties on the web application itself, will isolate (not apply them for all, which may cause conflicts with other apps e.g. Solr).
Enjoy, and I guess somebody can close this one.
We have no realistic plans to update Crowd's support for Resin, so I'm going to close this issue.
We recommend using Tomcat.