If you are using EJB's, annotate your observer method with @TransactionAttribute(REQUIRES_NEW)
AFIK, @Transactional does not support REQUIRES_NEW, so this will not work if you are using POJO's.
The business process context is only relevant if you are using jBPM, it has nothing to do with transacttion propagation.
What the docs means is: you can't get to stuff stored in the conversation/session in your observer methods,
but you have access to stuff stored in the business process context.
Unfortunatley I'm using POJOs. So, to be able to use transactional Obeserver callbacks I seem to need to switch to EJBs.