Your child objects may not have colliders (which are required for mouse events)
Your "onMouseExit" should have a captial "O" (functions are case sensitive)
The code which adds this component to the children may have an error which is causing the script to not be added.
You may want to use "OnMouseEnter" instead of "OnMouseOver". The difference is that "OnMouseEnter" is called once only, whereas "OnMouseOver" is called repeatedly every frame while the mouse is over the object.
You could help yourself to solve this by adding "Debug.Log" commands to check whether each function that you think should be called is really being called. Eg, you could change your ChangeColor script to:
`onMouseExit` must be `OnMouseExit`.
The object must have a collider to have this work (select the GameObject and the add the collider through Component -> Physics menu (choose the most convenient one).