I wonder if its the LIFO/FIFO event processing I have seen which is causing the problem, you get random hangs with this, and its more noticable with some events than others.
Your only way of testing for this is to use debugview, the clarion debugger wont show it as it only processes one thread at a time, where as debugview can accept messages from all threads as they happen.
This post will get you started with debugview. Debugview++ and DebugInfo