Do I use true or magnetic north in headwind component calculations?
Surface winds, as reported by the tower are magnetic.  Runway headings are magnetic.  However, METARs are reported true, according to Aviation Weather Services and ICAO.  Therefore one has to perform a heading correction in comparing runway headings to METARs.

Wind directions are normally rounded to 10 degrees, as are runway headings.  However, sometimes runway numbering lags isogonic shifts, so care should be used utilizing runway headings.

It is worth noting that the expression, "If it is written it is true, and if it is spoken it is magnetic," may be misleading.  As an example ASOS and AWOS data is recorded as true, and transmitted as true, but is converted to magnetic prior to being broadcast on computer generated voice messages.

Furthermore TWEB are true, as the underlying reports they are generated from are true (winds aloft, TAF, etc.).

To summarize, runways are magnetic, tower wind checks are magnetic, but ASOS, AWOS and METAR are true, unless transcribed to computer generated voice.