This gets stranger. Adding in an M117 somewhere in config.g, even one with no text, fixes the problem! The 'Starting up' message comes up for a flash, less than a second, before going to 'Idle'. Comment out that M117 and it goes back to taking 30 seconds.
I'm guessing that it's always finished booting, it's just that PanelDue doesn't know about it. The addition of the M117 forces a communication with PanelDue that corrects the missed message.
Anyway, with the blank M117 in there all works fine.