There are several ways to approach this, and beginning with some tests, we can experiment with each option:
1) invoke the nested flow from a "gateway" which essentially "resets" any headers for the parent/calling flow
2) add support for "Stack" typed header values, so that a component like Aggregator could pop() instead of simply get() or peek()
3) work this into something like the "scatter-gather" component as a higher level "composite" handler (see INT-275).
When considered in the broader sense, this issue is similar to that of sub-flows in Spring Web Flow.