It seems that I have finally found the problem to my session bean passivation problem, and the problem seems to be that I made all the members in my session beans private. I found the answer in the following FAQ: http://main.jboss.org/thread.jsp?forum=67&thread=5275
What is the reasoning for requiring member variables to be public in the session beans? Is it part of the EJB spec (and a huge oversight on my side!!!)?