When FactoryBean creates CgLib proxy via programmatic Spring proxy support (ie. ProxyFactory), @Transactional annotation on methods of original class are not picked by the transactional infrastructure. Reason is that the CgLib doesn't copies annotations on methods to the created final subclass and these annotations are not subject of inheritance.
This is a rather unusual scenario but you got a point there, so as of Spring 3.0.4, we introspect the superclass when given a CGLIB proxy as the target class. This has been implemented in the form of a ClassUtils.getUserClass call in AbstractFallbackTransactionAttributeSource.