but when I added <property name="allowLocalTransactions" value="true" /> to
my connection factory I got a different error ... which implies to me that
the pointcut is working ...
Nope.
The first exception is thrown when BTM determines that you use a resource without starting a
transaction first. In rare cases, this is what you want, so you can disable this exception
by setting allowLocalTransactions to true. All it does is skipping the exception and
assume you know what you're doing. There still is no transaction started, which is the
reason why you get the second exception, this time JMS is complaining that you didn't
start one.