ShadowAnton,
I have faced this situation before. The reasons that this could happen are actually rather extensive, and I think what would best help is to get a log from the CWA server and the front end(s) while you repro the issue. If you have not used the logging before it can pretty daunting, but it really is much easier than it looks. Below is a link to help walk you through the basics. If you look at the 4th column it tells you where the component to log on is appropriate. This will probably be over kill but log on every component for the CWA server on it, and capture front end and web components where appropriate (if you have a consolidated topology capture web components and Frontend on any and all servers running those functions).
The log files will be saved as ETL (Encrypted) files so to make your life easier click the "View Log Files" when they are all done and save the files w/o encryption. At this point you will have the choice to view the file in a text editor or to download and use the OCS Snooper tool which is part of the OCS Reskit (Link below). I HIGHLY advice you use the tool. You will basically be looking for errors in the log file, and the start of the conversation. It definitely takes some getting used to look through these files, but the time spent is well worth it. This is the only place where the error you find is really definitive, or nearly so.
How to log OCS transactions: http://technet.microsoft.com/en-us/library/bb936621.aspx
Download the OCS Snooper tool for read the log files: http://www.microsoft.com/downloads/details.aspx?FamilyID=b9bf4f71-fb0b-4de9-962f-c56b70a8aecd&DisplayLang=en
Hopefully this all helps. If you get to the point where you are pulling your hair out over the logs and need some help, let me know.
Don't forget to give credit where credit is due, vote this as helpful if it helped you.