I think I have figured it out. It is executing in a transaction and I can roll it back. Although when you call theDBConn.getAutoCommit() in the transaction it returns true. Is this the way it is supposed to be? I would expect a result of false for autocommit() when in a transaction.
Apparently I didn't read the spec carefully engough to find where they explained the required behavior. I figured that since you didn't call setAutocommit yourself, and you can't call commit yourself inside a managed transaction, the adapter should continue to report autocommit true. This however disagrees with the spec and apparently most peoples expectations.
anyway, as you noticed, managed transactions are in fact working correctly, even with the confusing getAutocommit return value.