Ok, new starter fitted this morning, and it's a vast improvement. I've had the carb off and checked my work - all is good.
I've had it try to fire a few times, but generally it's just turning over until the starter disengages, so I have to turn off the ignition and start again. I'm getting fuel and spark, so I don't know what could be causing this behaviour.
It's a Powerspark electronic ignition - I don't know if that jogs anything in anyone's memory! I'm fast running out of ideas!