I have the answer. The question, posed below, was this:

If I walk between two points on a flat surface, I can use a bit of string and an OS map to work out exactly how far I've travelled. However, if I walk between two points, starting in a valley, walking over a massive mountain, into another valley, I've not only walked the distance between those two points, but also the distance up and over the mountain. Contour lines show where the incline is, but can't factor in that extra distance up and down. Can they?

A nice man called Nick Curzon at OS was kind enough to give a detailed reply. Turns out it can be simple, but mainly, it's complicated:

There is no clever way for a flat map to show distance increase with slope. The only way to figure out the increase is through the use of trigonometry. I actually spent 2 months mapping a part of the Borneo rainforest a few years ago, using a compass, clinometer, tape measure, meter sticks and a calculator. On every slope, we had to calculate an increase in distance to travel to make sure that our 20mx20m flat grid was maintained, as travelling up a sloped surface would result in a shorter flat distance. For instance, if you gain 2m in height for 20m forward, the actual distance you have travelled is 20.01m (travelled = square root of (horizontal^2+vertical^2). Pythogoras theorem). However, this only works for a steady slope. Any bump or dip would increase the distance travelled.

So there you have it. I'm not sure I'm going to invest in any meter sticks, but next time I climb a hill, I'll be happy to know it really is further than it looks.

And in case you're wondering, a clinometer looks like this: