Hi Mike,
807,229 physical IO is for the whole slow query (seen by monCachedStatement) and 16931 is the IOs for the ase internal temporary table WorkTable1 (result of the join) seen by the query plan.
This is precisely the problem. The Query plan will show a smaller amount of IOs and a "Adaptive Server elapsed time: 131120 ms" while the Query is actually taking 13 mins to send the result and indicates a huge amount of IOs in the statement cache (monCachedStatement).
My feeling so far is that the query plan is fine because it is fast without statement cache but when writing info into Statement Cache for future execution, the cost is wrong so the future execution will always slow.
Thanks,
Vincent