These heat pads are extremely cool to watch. If you would like to see the process and have the time, you can download this 1.2-megabyte MPEG file and see it happen. Bending the metal disk starts the crystallization process, and you can see the crystallization proceed through the liquid.

What is happening here is strange, but the process can be understood if you think about water freezing. Water freezes at 32 degrees Fahrenheit (0 degrees C). If you were to stick a thermometer in a cup of water and put the cup in the freezer, you would find that the temperature of the water falls to 32 degrees F and then hangs there until all of the water is completely frozen. Then the temperature of the solid water falls to the temperature of the freezer.

What if you could somehow supercool the water? That is, say that you could get the water's temperature to 10 degrees below the freezing point without it crystallizing into a solid -- you can sometimes do this using a very clean glass and distilled water so there are no points for the water to begin crystallizing. In this condition, if you tap the glass the temperature of the water will jump up to 32 degrees F (0 degrees C), and the water will solidify quickly.

A heat pack like the one you are describing contains sodium acetate and water. It turns out that sodium acetate is very good at supercooling. It "freezes" at 130 degrees F (54 degrees C), but it is happy to exist as a liquid at a much lower temperature and is extremely stable. Clicking the disk, however, has the ability to force a few molecules to flip to the solid state, and the rest of the liquid then rushes to solidify as well. The temperature of the solidifying liquid jumps up to 130 degrees F in the process.

When you boil the solid, you melt it back to the liquid state. You have to completely melt every crystal, by the way, or the liquid will quickly re-solidify. You can repeat this cycle forever, theoretically, just as you can freeze and melt water as many times as you like. The plastic pouch eventually wears out and leaks, though (since sodium acetate is a food additive, it is non-toxic).