From what I understand of lighting issues, this is not the best aproach and would leave lots of "what kind of rock is this" problems around but the method is sound.
What I grasp of colored light in acii It sould be accompanied with a "coated with __ __ colored light" mechinism, that is only removed when exiting light source line of sight, and color based on item light generation color, which I should go in detail as illumination on said coated object is most probably Color+Intesity/Distance=Final light color and intesity coating, an example Illumination is 5 tiles from coated object and has an intensity of 3 tiles and is 255,0,0 monochromatic red, at its distance it would be just 2 tiles outside the optial illumination and be reduced in intensity, to put this into more elegant lighting function you'd need to set several different lighting grades, say well lit, fairly lit, poorly lit, unlit, and darkness for example in my previous example the objects in the closer three tiles would be well lit, the objects in the next three would be fairly lit and so on not taking shadows, reflection, or object color into place.
Conserning shadows an algorithm to determine LOS would be best with recheck from the illumination point only when moved or when objects in LOS change as for the object would have to check its own coating when sighted or checked, as to the working of that the issues of sight are adressed.
Viewed color would have to be determined by object color and illumination color and intensity...mutiple color chains make this harder to determine, say an object is 25,53,71 and is coated with 255,135,68 Intensity poorly lit what color derived would have to be determined for it?...ect...refraction is a part to this as this object would illuminate with this newly derived color with a contined intesity LOS, which gives a new illumination color to be combined with other object's colors till light intensity is gone, and your left with one light in a room making 30+ colors which makes color changing an annoying algorithm to make...much as it sounds it would be life-like.....simplest way to put this would be to say that color reflection is a pain in programer asses of many mediums.
Fire is a diferent story...one told best by a pyrotechnition, and I'm not one....