What if you do like the lantern item does, but have the onFire script mount the empty.dts object that will have the light script instead of the lantern_ON_Image and have it look something like this?
Something like this
className = "WeaponImage";
shapeFile = "base/data/shapes/empty.dts";
emap = true;
item = lanternItem;
ammo = " ";
projectile = "";
projectileType = Projectile;
mountPoint = 0;
offset = "0 6 0";
correctMuzzleVector = false;
eyeOffset = ("0 6 0");
melee = true;
doRetraction = false;
armReady = true;
hasLight = true;
lightType = "ConstantLight";
lightRadius = 64;
lightColor = "1 1 1 1.0";
Doing this myself, it works, however, the light goes in the opposite direction of where the image is offset to and the light does not follow the model, it rotates on a pivot point of it's own, which i can't seem to figure out how to change