This is normal behaviour, at the end of each transaction store will be called on the bean. To stop this from happening implement and isModified() method that returns true if the data has been modified. In business methods that change data set modified to true. In ejbStore/ejbLoad set isModified to false.
I think the container knows about the isModified method automatically without any further configuration. I'll check this and get back to you.
Thank you Paul. In retrospect, it seems obvious, but I have read two books and worked with EJB's for six months and never heard about this issue. I searched Serverside for "isModified" and found some interesting discussion on this subject.