If the smoke heater element is good, and there is sufficient power to it, the usual culprit to poor smoke production is a clogged smoke unit.
Take the smoke unit out of the engine, take the heater element out, and locate the tiny hole at the bottom of the bowl. It is probably clogged with smoke pellet material. Use a very fine wire to unplug the hole. Reassemble the smoke unit into the engine and test it. Keep the engine in neutral when first putting in a pellet to help it melt, then run the loco.
Running the loco with a long train behind it will increase the voltage to the track and thus the smoke element, yielding more smoke. Running a short train may not allow the smoke element to heat up sufficiently to produce constant smoke.
Larry