In cargo 1.0, tomcats resources are all defined globally (in conf/context.xml). This doesn't work for transaction resources in tomcat 5.5 (or it seems 6). See this thread for some details:
Additionally, defining resources globally means that two deployments that require different datasources with the same name won't work. The resources should be defined locally. There's a comment in the source code saying "In Tomcat 5.5+, we use context.xml to avoid configuration problems.", but no explanation as to what these configuration problems are. If there really are configuration problems, then maybe the contexts should be defined in conf/Catalina/localhost/path.xml.