a quick follow-up question though... you wrote "my advice would be for per light ambient to be very low or zero, and per light diffuse/specular to be equal".
If I do that, then I need to code the color in the diffuse channel, right? As for now, I specify an objet's color via the ambient component (of the object). Its diffuse component is always grey, i.e. it adds some diffuse effect, but not in the color of the object.
Would that mean I could drop the object's ambient channel, and only work with the object's diffuse and specular channels?