I put the caliper back on the car, bled it and pumped like mad and eventually the piston came loose. Back on the bench the problem turned out to be rust around the lip on the caliper casting where the piston fits. The piston had a little surface corrosion, but this cleaned off with wire wool and some 4000 grade wet-and-dry.
I took a cone grinder fitted to my Minicraft drill to the lip on the casting and lo-and-behold the piston was sliding freely in and out again.
The only problem was the replacement dirt gaiter which no amount of pressing and poking would convince to stay firmly down on the caliper. Investigation showed this to be due to more corrosion which I did my best to clean up.
The caliper is now back on the car, bled and working as it should. It isn't perfect, but it will be fine while I scope eBay for a replacement.