There was a bug in my code that caused the global trend graph to be wrong. When I added the cosine weighting I hadn't updated the code that outputted the file for gnuplot for the global trend (it was correct for the northern and southern hemisphere). This is what happens when you hack things together and don't write a test suite. Slap on the wrist.
The corrected code is now in the repository.
Here's the corrected comparison between the output of my program and the output of the Met Office program (with my bug fix to their code).
Now that's a pretty picture.
There are some very small differences that could probably be looked into, but I'm getting a little tired and this is looking really nice now.