I've got my EMCRX running on my server. The server also has some software/hardware that looks at running apps periodically and if they've failed, tries to restart them. Failing that, it reboots the computer. Been running that setup for about 6 years.
I've added EMCRX to the list of apps to check, and find that about every 48-60 hours, it will not respond, and my server reboots. Just happened again.
What I've ended up doing is spacing out the checks to about 10 minutes, and allowing 9 minutes for the query to be responded to. Seems to work most of the time... but at times it appears that EMCRX gets locked into a dead end, or something, trying to resolve a DNS or whatever it's doing out there on the net.
Whatever it -is- doing, one thing it is not doing is responding to the polling done my by software. I've personally watched it try for several minutes to resolve some twisted chain of ownership before it finally succeeded.
Because of these issues, I've now purchased a copy of Simon to keep a second eye on it, from my main computer.
So: my suggestion is this: start a timer on those internal processes where the whatever is going on, prevents the event loop from working, and after, say 90 seconds, abort the process... either that, or put the event loop back in somehow during those long pauses in responsibity.