Thanks for the reply.
We are using CMT for most of our transactions and BMT for just a few where we are processing batch type jobs.
So there is a transaction running but if there is a database error (ex Optimistic lock or unique constraint violation), this is when the null pointer exception occurs.
I found a JIRA that someone else logged referencing my post so I am waiting to see where this goes.
For curiousity, I applied the patch described in the JIRA and that solved the problem.