Can't think of anything that doesn't require modification to the sub sequences.
If you are happy to modify your sub sequences you could add a GOTO (to goto the end of SetUp or CleanUp, whichever you are in) or PreConditions to your SetUp and CleanUp steps that check for CallStackDepth. (RunState.CallStackDepth)
Have a play with it if you are not familiar with CallStackDepth, but as a rule CallStackDepth is incremented by 1 as you enter a sub sequence (and incremented again as a further sub sequence is entered etc.etc.) and decremented by one as you exit a sub sequence.