No, it doesn't need to be the first event, but normally you should add children in the same event where you create the parent object.
There are 3 ways to do this:
1. Create parent and all children objects in an event, and add children to parent.
2. Put parent and children objects to the same container. Then, when you create parent object in runtime, all children objects will be created automatically. But you will still have to position them and add them as children.
3. The easiest method - create hierarchy connections between parent and children in the layout editor. Then, when you create parent object instance in runtime and tick "create hierarchy=yes", all children will be created automatically, in their correct positions, and all hierarchy connections will also be created.