It turns out the fuel intake at the bottom of the tank was blocked with crud. I hadn't realised because the bike was running fine - until I took it out yesterday and it coughed to a halt.

Anyway, it's all cleaned up and working properly now. I assume the difficult starting was due to low fuel level in the float chamber shortly after turning the ignition on: fuel flow was so restricted there mustn't have been enough fuel for the choke to work.