For smoke there is no better method than alpha particles. I'd just load up an art package and plonk some gray blobs down, blur it, and make the layer alpha 50 percent or so.
Then, in DBPro I'd fade them and recycle them - maybe have 32 smoke particles, and spawn one every half second. You could even fade out depending on the smoke particle number - one less thing to worry about. Personally I'd just position a plain at the smoke emitter chimney or whatever, and use an incrementing object number each time. Keeping track of that object number, you could say that object number is alpha 100%, then the next one would be 97% or whatever - so by the time it gets to the 32nd smoke object, the alpha is 0. You could rotate the particles slowly and have them react to a wind direction and speed quite easily.
The top benefit is in the looks though - negative ghosting is still an additive effect - but when you use alpha transparency, well it's still additive - but only in the alpha channel. This means that 1 particle might be translucent, but lots of particles together would be solid. As the smoke billows up, it would dissipate and widen, giving a very natural look. Alpha particles are much more volumetric, and it's really the best option for smoke - it's actually pretty hard to make gray with ghosting.
If you add this to an explosion effect, then it just looks superb - maybe with shorter lives on the explosion particles, but when you see the flames fade out leaving thick dark smoke that dissipates - well it's a great effect that costs little.