ok, as I understand, the specular is actually a fake reflection from the light source, so primarily, it should obey the light color, and that same light color is also going to tint the surface diffuse color. 3d packages goes the way you said, specular is always white, but there is an option to tint specular color according to the light color.
Now, since specular is actually a fake light source reflection(when it comes to color and position only, not the amount it spreads) it may be interesting for material dealing to be able to state the color on the material level as a priority, not light. Some coat materials in real life will paint every reflection to the color of the coat, so even if some light is blue, it is going to produce green on this special coated green material, and only for this material.
If I understood what you said, I believe your specular color should be material first, light color second or just white if people don´t care or don´t specify.
Great work done, if you had done this before and changed for white for simplicity, I would say don´t, most of the 3d packages on the 90s has specular on white for similar reasons.
Great work done, I´m still to run a test on glb 3d on all these reasons we are discussin but am afraid I may only be able to do so next week in luck.
Sorry for all my talking, I know talking is easier then doing.