The exception in my previous post was caused by a deferred constraint error.
Two things I think are wrong with JBoss' connection manager's behavior:
1. The failed commit should not be a warning, it should propagate the exception so the application can take action.
2. The detail message (and perhaps the stack trace) of the underlying SQLException should be logged.
I found the following open bug in SourceForge for JBoss that covers the problem with the commit failure not being propagated:
[ 575966 ] JCA - commit failure not reported