Part of the unreliability is Mailstreet's timeout for inactive connections
... which confuses WebMessenger somewhat. The problem is, which part of the instability is WebMessenger's fault and which is Mailstreet's fault.
Keepalive packets should be transmitted more often than the timeout period, but I know Mailstreet changed the timeout down to 60 seconds from the BES/MDS default of 120 seconds, which wreaked havoc on my Idokorro MobileSSH until Idokorro released a new version that had a 50-second keepalive, which solved my problem.
The unreliability inflicts other instant messengers I've tried too. I think some of the problems are WebMessenger's but some problems because of the MDS timeout. However, I do notice sometimes celltower switchovers and going out of reception area for 5 minutes, can cause problems as well, meaning next time you try to send an instant message, it might not work until you logout-login.
Further Improvements could be made though, on both the BES/MDS server end (such as set the timeout to a very high value), and WebMessenger.
If WebMessenger doesn't work well, try other instant messengers instead. Idokorro made the modification for me (1.2.15 came out because of my feedback) because I paid for it. Pay for it, you get better support. If you pay for WebMessenger then complain about issues (scientifically, if possible), you're more likely to get a reliable program. Why are you sticking to WebMessenger if it's so bad you don't want to pay for it? I've now tested out 3 different instant messengers and they all work on BlackBerry well enough, one of them might be 'good enough. IM+ works too (AIM, ICQ, MSN), it might be more reliable.
BTW, What's your BES timeout value currently set to? It usually causes part (but not all) of the unreliability in persistent-connection Blackberry Internet apps (telnet, IRC, instant messengers, etc)