By default the Execute Package Task will use the PackageID (GUID) to
load and execute a package. The PackageID is assigned when you save
a new package. A simple illustration of this is to open a package and then
use Save As, giving the package a new name. If you where to replace the target or child package for
some reason, this would break the Execute Package Task, as it is pointing
to an old PackageID.
If you perceive this as being a risk in your environment, then you
can remove the dependency on the PackageID, by blanking out the
PackageID property of the ExecutePackageTask. This will cause the
PackageName property to be used instead. This can be done as a
one-off exercise with the Disconnected Edit feature, available on the Package menu.
If you regularly migrate packages and do not want to have to worry about this,
you can add a Dynamic Properties task to perform this during package run-time.
The Constant assignment type would seem the obvious choice, however it does not support
an empty value. You can add a global variable, of type string, and leave the value blank.
The global variable can then be assigned to the PackageID property of the Execute Package Task.