When a workbook is taking too long to calculate one often tries to Cancel the calculation. Unfortunately, the cancellation often takes longer than letting the original calculation continue. This should not be so. Cancel should mean Cancel. Upon receiving that command, Jet should abandon all its work and immediately restore the original model from its hidden tabs.
I’m not sure what Jet is doing for so long when it is slow in canceling. Presumably, it is trying to recreate the hidden tabs that store the cached data. In such cases, Jet should just abandon the recreation effort and delete the sheets. If users have to Refresh a workbook rather than being able to use cached data the next time they run it, I believe that would be ok and they would accept it. The reason they’ve tried to Cancel is that something wasn’t right in the first place. You could make it an option on Application Settings called “Fast Cancel” if you felt that not all users would want to do it.