Right, so it was crap as a battery charger also.
Trying to charge a set of 14.4V SLAs with a current limit of 3A it never got near 3A, rather bouncing around 1.8-2.2A with a revolting waveform again. When not in CC mode it was fine (so as the voltage came up to set point it behaved nicely).
Some investigation shows the current limit is implemented by hitting the compensation/soft start pins pretty much in an "on/off" fashion causing the poor PWM chip to bounce around all over the place. There's also soft start, over-current and over-temperature inputs into those pins, so I had to figure out how to change the current limit feedback without affecting any of them.
So, a bit of poking and a quick mod to have the current comparator act on the other side of the PWM and it's now behaving nicely. There is a bit of lag when you hit the current limit slowly (ie, as I wind the pot down it takes a second or so before the limit kicks in (ie, lamp is drawing 1.8A and as I slowly turn the pot down it kicks in at 1.5A). Once the limit kicks in it's fully linear and that behaviour is dependent on the distance between current and setpoint (ie put a big load on and it kicks in almost immediately, same for winding the knob down fast).
I might have a play with that and see if I can improve it, but right now I have a linear current control that behaves as it should and is now satisfactory for charging batteries.

As as result I could also remove the extra 1500uF cap on the output as this seems to make the supply more stable. Need to do some more tests, but it passed all the step load tests I could throw at it.