Reviving this thread because I just checked my thermometer and found it was about 6° off at boiling! It was reading 218° instead of 212°F!
Guess my mashes have been on the low side... fortunately I've mostly been doing high mash temps, so I think they've all been in the sane region, but this probably explains my higher than expected attenuations.... I've also been doing partial mashes, so that limits the impact of screwing up the temperature.
One thing to add to the thread---with most dial thermometers, you only have one degree of freedom. You can turn the knob to set the offset to the needle, but there's no way to adjust the scaling. Because of this, a two-point calibration is not really possible. You can use it to check that your scale is roughly correct, but you can only match the true temperature at one point unless the scale is naturally correct. You may be able to do a bit better by manually working out the scale factor and applying it, I suppose. In any case, I usually do this at boiling, simply because a true 212°F boil is easier to get than a true 32°F solution.
If you're going for a cold calibration, you want to make sure the ice you're using is crushed very finely. You're aiming for water that is in equilibrium between solid and liquid. Dropping standard ice cubes into water can give you liquid that's a few degrees warmer.
But, given the overall accuracy of the thermometers, and the inability to truly calibrate the dial type, it's not that critical to get exactly 32°F. As mabrungard says, the best would be to match the dial to a known temperature right at the working temperature, so somewhere around 150°F. Unfortunately, it's difficult to get a good calibration standard there unless you buy a rather high quality thermometer.