Martin,
There indeed is a race condition in BTM 1.3.2 which can happen in very rare cases when you mix local and global transactions:
http://jira.codehaus.org/browse/BTM-43This bug (and some other related ones it uncovered) have been fixed in the trunk so you can either build it yourself if you want to keep mixing local and global transactions or stop using local transactions as you just did, the later being the option I recommend.