The way the if statement is written the function doesn't return anything when sim.partProperty(i, "tmp") ~= 1 (so it exists but has a value other than 1). I assume that a NEON particle is initialized with tmp 0 which would mean that the element's Graphics function doesn't return anything util you set the particle's tmp to 1.
If my asumption is correct the code should be:
elem.property(neon, "Graphics", function (i, r, g, b) if sim.partProperty(i, "tmp") == 1 then return 0,ren.FIRE_BLEND+ren.NO_DECO,255,255,255,125,255,255,125 end return 0,ren.FIRE_BLEND+ren.NO_DECO,255,r,g,b,r/2,g/2,b/2 end)