• To clarify what I think you are saying.

    SSIS Master package runs execute SQLAgent task.

    The constraint for this is satisfied when the task starts, not when it ends (which is what you want).

    If so then can you get the SQLAgent task (or its associated dtsx) to output a marker file or write to a log table on completion and have the next stage of the SSIS master package wait for the log file record.

    Why are you using a master SSIS project for this when the desired functionality is build into Agents where the agent can run multiple dtsx files in sequence (which is what you want to do)

    What happens if the Agent job doesn't end as expected

    Alternatively, why are you using SQLAgent to fire sub-packageswhen you could just ExecutePackage Task from the master package. I think using this method you can also use event bubbling for package failures from the child package back to the parent.