• "If you were to replace the Child package for some reason, like saving it after making changes, this would create a completely new VersionID, with a new time stamp and a new ProgramID! And this would break the linkage between packages, as the VersionID is pointing to an old VersionID with the same name. The PackageID {543E….184} in the background of Figure 2 is obsolete, and the execution will fail!"

    This is not strictly true. When choosing the package for an Execute Package Task, point to the package name instead of a specific version and the task will always use the latest version. You can make changes to the child package (which will change the versionId) but the packageId will not change so the Execute Package Task will not need to be updated.