If a sequence is terminated looks like the Cleanup is skipped, is this correct?
In order to identify if the sequence was terminated or not in ProcessCleanup step I added RunState.Execution.GetStates(Locals.runState,Locals.termState).
termState returns a value of 1 and not 2 if a sequence is terminated (by selecting the "stop" button on toolbar).
Why would it return a 1?
If a sequence is terminated looks like the Cleanup is skipped, is this correct?[...]
No, this is not correct. If the state is really "terminated", the cleanup stepgroups of the whole call stack up to the process model will be executed. The process model proceeds 'normally' (since you want a report, don't you?).
What is the model you are using?
Are you sure that you are not using subsequence calls with option "New Execution"?
As it looks, the "termination behavior" you are observing looks like "abort" to me. And your remarks regarding the termState indicates, that you are looking into an execution which is still running as expected.
Note: With "stop" button, you refer to the "Terminate Execution" button?
hope this helps,