when this has happened in the past to me, it usually means that something has failed and basically you have a bug somewhere that you're not catching like a NullPointerException.
When I've found and fixed the problem, jboss no longer hung on shutdown.
that is my experience,
I have the exact same problem only on Mandrake Linux.
I have experienced it on Windows for 2.4.3
2.4.4 didn't do this.
Every version does this with Mandrake Linux.
I don't even have anything deployed so it isn't a bug in my code. I posted this but didn't get any response.
Since my production is 2.4.4 I let it go.
So... 2.4.4 works if you can move to that (on Win 2000 Professional... I don't have it on server).