AFAIK, updating the color needs to update the vertices color. So it needs to do that for 200*4 vertices.
Maybe you could create a new shader with a "color" parameter, and in the fragment shader, instead of using the vertices color, use that instead. Have the children have the same material, and just call SetColor once on the material ?
Correct me if I'm wrong, I'm pretty new with 2d toolkit/unity