fyi, i upgraded the jvm from 1.3.1_2 to 1.4.2_06 and the problem went away... at least until now!
the system has been up for 8 days up to now, and it has been processing more data than before, roughly equivalent to an additional 10%-20% ejb/cmp calls.
there is nothing a java programmer can do to hang a jvm... at least theoretically, but 1.3 surely has some issues. i guess that's why whenever i lookup an issue on the sun site, their first solution is to upgrade to 1.4!
anyway... hope this helps others.