Hi Mike,
I cannot be sure if that is how they should work. If you tested it, and the workflow behaves in the way that you described, than I would assume that it's the way it should work. Generally I haven't paid much attention to possible differences between the workflow testing functionality and the "real" functionality. I consider the testing functionality (for example started from SWDD) just a "quick test" tool. It is good for quickly testing something that you have done (new step, new binding, general functionality) but real testing should be done in the way that the workflow is meant to be used in production environment.
Just a quick remark: Are you sure that the branch makes the difference? What if you put the subworkflow before the whole branch. Does the first step of the subworkflow start automatically or do you need to the inbox in order to execute the step (I've probably done something like this before, but cannot remember how it worked)? Basically we are speaking here about the "Advance with Dialog" functionality and its behavior in branches, aren't we?
Kind regards,
Karri