For EclipseLink to properly identify the container and set up correct transaction integration, etc, it needs the property "eclipselink.target-server" to be set to "JBoss".
There's an open issue asking EclipseLink to auto detect the container (https://bugs.eclipse.org/bugs/show_bug.cgi?id=383257) but right now, a simple solution to making EclipseLink work well on AS7 is for AS7 to pass that property to EclipseLink.
That'll help prevent issues and confusion like this: https://bugs.eclipse.org/bugs/show_bug.cgi?id=365704
Users can set it as a system property right now as shown on bug 383257, but really it'd be best if JBoss passed it to the persistence unit during creation.
Time permitting I'll give this a go.