I remember similar problems to this. Actually we have had a 2.44 box running jms 24/7 for about half a year now, so it does work.
What we had to do though is change the persistance used. The rolling logged method (default I think) didn't seem to 'roll' and just kept growing until it killed everything.
The solution we used is to use file persistance
<!-- The PersistenceManager is used to store messages to disk. -->
Now this will be apparently slower, but I doubt if it will cause a major difference and it will work. (which is a major advantage).
If this still doesn't fix your problem, I can only guess that either the session is not being closed properly or there is another issue that we can sort out.
I just fixed this for the Rolling Log Persistence Manager on JBoss 2.4.7. Therefore the transactions.dat? file will cause a roll over even when only non-durable messages from topics are received by a MDB.
Note that a MDB has to use a transaction in order to reverse the reading of the message when the onMessage() method causes the transaction to roll back.
Have fun - Andy