Fixed!
The pump is a big tube and a small tube in parallel. The piston on the main rod is sealed with an o-ring – I’d replaced that as it was worn out. It needs some lubrication to avoid sticking, I used XP222, I should have used silicone grease but I didn’t have any.
There’s a check valve at the bottom of the pump that you get at by removing the alan bolts holding the base to the pump. It’s closed by a really wimpy small spring. I used XP222 on that too as it was very rusty – that’s a problem, the spring’s not powerful enough to overcome the grease. Cleaned it out and lubed with silicone spray.
The check valve sits in an aluminium plug with 2 o-rings that seal against the body. The plug can be removed by unscrewing it. There’s a small hole drilled in between the big tube and the small tube between the o-rings. Air from the small tube can get though it to the gap between the o-rings and hence to the check valve and vice versa.
When you depress the piston, it forces the check valve down and lets air into the plug and then to the small tube going up. Test by putting one finger over the top of the small tube and one in the middle of the plug to seal it and depressing the piston. You should feel resistance. If you uncover the top of the small tube and still have resistance, there’s a problem getting air from the plug into the small tube – fiddle with it.
Next problem was leaking air from an attached tyre. What should happen is that the pressure should go down the small tube, into the bung and push the check valve up. If the previous check works, it has to be a problem at the top of the pump where the gauge etc connects. There’s a little rubber bung with a hole in it that should seal it – but if it’s pushed level with the top of the small tube it won’t. Fit the bung to the plastic top of pump assembly and it’ll stand proud enough to seal.