Hi Bob,
I experienced the same problem you do In one of my customers.
the solution was to implement an auto-watcher that looks in CEM if the last defect in any of the opened incidents is older than X minutes (configurable). In that case, using CEMExportTool or WS (do not remember), we consider the problem is gone and we close it in CEM (therefore in SOI).
This auto-watcher consists in a simple java tool preiodically executed with cron or windows scheduler (my case).
Let me know if you want me to share.
Additionally, by using CEMExportTool and SOI Escalation Policies, we close Incidents in CEM when the related alert in SOI console is closed by the operator.
Regards