It also works to animate the emission rate, which i sometimes find more flexible. That way, you can add stuff like linear interpolation for the particle count, so that a fire slowly goes out, etc. In the animation window, you have a rollout menu called "interpolation type" where you can select "linear" or "beizer". Or you can just have the particles emmit in different steps.
Also, for the fire, remember to use "Head - life span" and "Head - decay" to make the fire animate properly (should start with 0 to 32, and end with 32 to 64).