A simple reason: Threads of a self managed thread pool will not be managed by the Application Server. E.g. in startup/shutdown scenarios, this means, that these threads can not rely on resources of the application server at any time. The JCA adapter is by design fully integrated into the lifecycle of an application server.
Easier Concurrency Support for JEE applications comes with JSR 236 Concurrency Utils for EE. This is available on the EE7 platform and defines extensions to the SE concurrency APIs to allow them to be used in an app server environment. On JEE5 & JEE6 platforms the only safe way to spawn threads is the WorkManager of an Resource Adapter.
Because implementing such an Resource Adapter requires good knowledge about the JCA contracts, the Activiti Job Executor EE project provides an open source reference.