What do the dashed lines in the outliner mean?
Dashed line means the child object isn't present in the same collection.
It probably got left in a different one.
The parent-child relationship still exists, but the 'misplaced child' :( won't be treated as a part of the collection (for instancing, particles or simulations)