Bloogoo, I don't know if this will fix your problem, but just an idea of what I did to fix one of my lights. I'm an astronomer, and wanted to modify a cheap amber light with a red LED to mark a gate post at our observatory.
It used a 600mAh AA Ni-Cad to light an amber LED for only part of the night. I first wondered how I would power a 2.5vlt red LED off of a 1.5v battery, then I saw on Makezine.com a circuit for a "Joule Thief". Basically they were running an LED off of a less than 1v battery by using a inductance coil and a transistor to build enough current to light the LED. I built a test circuit, and it worked, started to try to put it in the light, and decided to look at the original with a oscilloscope. Come to find out it was nearly the same circuit. I soldered in my red LED and sure enough it lit. But would still die after a couple hours. I then replaced the 600mAh battery with an old 1850mAh Ni-Mh out of my digital camera that would die after a couple of pictures. It now shines brightly all night long. It seems that I rather had a bad battery, or it was getting fully charged with it's smaller capacity.
~Travis