I fixed the lack of illumination of corners by having each photon act as two lights, incoming and outgoing, within its area of influence.
I've also changed the falloff of each photon to approximate a Gaussian distribution using [(1-x^2)/(1+x^2)]^2 (see a graph from WolframAlpha). Notice that it becomes zero after a finite distance along the x-axis, which prevents discontinuities at the edge of a photon's range of influence.
This is what it looks like now:
![](http://members.gamedev.net/dudemiester/images/screenshot2_small.jpg)