I don't know what would cause the session to close early for your application, but I when I ran in to this I switched to a single session model. I know the Hibernate team doesn't recommend it, but it works well in my application environment. Of course, I am working with applications dedicated to a single user and not a web page or JSP.
You did have my curiosity aroused though... So I did a little more research. I am sure you have seen this page already, but it talked alittle about the problem you are having.
http://www.hibernate.org/43.html