Eggs and Orbs are closely related, but their coding and behavior differ. In addition, some parameters are ignored in special cases, and depending on whether they are specified in the Create command or the SetEggOrbData command. This page attempts to clarify those idiosyncrasies.
CreateEgg doesn't pay attention to “attachedto” or “attachedtoobj”. CreateOrb does. SetEggOrbData pays attention to “attachedto” but what it attaches to has to be another egg or orb (otherwise it ignores it). SetEggOrbData does not pay attention to “attachedtoobj” (for either an egg or org).
“Moveto” is not used properly inside the CreateEgg call. The MoveTo destination should be set using SetEggOrbData on the created egg's UID.
You can create an egg or an orb, and both can be attached. But Orb is the more properly handled case. Egg ignores some things. You can attach an egg, but only after creation using the SetEggOrb data. But it can only be attached to another egg/orb (not a unit). MoveTo is ignored during creation for orbs and eggs