I've had some success with the additive blended fire effect and have uploaded a video to my YouTube channel showing the effect in motion.
I think it looks really nice and has the right sort of cartoony feel that I was looking for.
I have already discussed the technique but just to recap, I render the fire particles to an offscreen buffer which is all red but with zero alpha, using additive blending but adding the alpha as well as the diffuse.
I then alphablend the pixels from this buffer over the top of the final screen buffer in the final composition shader.
This way you can have additive blended effects over the top of a brightly coloured background at the cost of one extra sample per pixel.
I quickly added a service to the script to create explosions and the video and image above shows three explosions all being triggered by the button. You can set the size of the explosion and also optionally give it a lifetime in seconds, so an explosion with a very short lifetime will look like something blowing up, one with a longer lifetime looks more like something on fire.
The particles are assigned a random direction and speed from the middle. Each particle has a life starting at 1 and reducing to 0 (seconds). Pi multipled by this value and fed into sinf() provides the current size.
I intend to also have a similar flame effect that just uses a different algorithm to control the motion of the particles so that they move upwards and billow outward a random amount, as per this excellent article.