Passing by reference, as Cliff suggested, may solve your problem, but I would rewrite the class in any case.
A constructor should create a new instance, maybe initialize some class variables, but that's about all. It shouldn't be modifying arguments unless that's absolutely necessary.
Why not have the constructor add a child instead of a parent? Then your final code would look like this:
$daughter = new Component(FALSE); $mother = new Component($daughter);
$mother->showChildren();
Or better yet, take the addChild function out of the constructor altogether, so that you have this:
$daughter = new Component(); $mother = new Component();
$mother->addChild($daughter);
$mother->showChildren();
This requires you to type an extra line, but it makes your code much clearer. Months from now, when you're looking over this code, you won't have to refer back to the class to learn the relationship between $mother and $daughter.
Hope this helps,
Beth