Without more details (error messages), it is hard to predict the problem.
However, it is possible that the insert is being done before the delete and that this is refused by the constraints on the DB.
I would image this is possible when deletes are batched (there is a settig for this).
You can always try to enable debug logging to see the SQL queries being executed (or even trace logging to see the paramaters to the SQL queries).
The package for the CMP stuff is "org.jboss.ejb.plugins".
There are some possible solutions. You can switch off the batching of deletes if it was switched on. Alternatively, do the deletes in a separate transaction if possible.