I did not understand the issue exactly.
Do you mean the PKey is a duplicate?
Is this a migration issue which worked in former releases?
The issues is that e have thrown an exception that is not making its way back to the client. If the same exception is thrown during an insert the ejbCreate call performs as expected, the update operation does not work as expected.
This all works ok in 4.2.3, the insert action did not report the exception in 7.1.0 so it has got better