but due to the longer delay i noticed that this is because when it restarts, it restarts in 'play' mode and for that reason the zoom won't come back on.
That is normal behaviour if you first start up in play mode
when i do not start with a long press on the on/off button it ends up in play mode as well, cancelling the zoom setting. So it might be not a timing issue, but related to the fact that the camera has firmware update only available in play mode?
IIRC, the choice of starting the camera in
Play mode on an
autoboot was made a long time ago on the assumption that it was "safer" to do it that way. The issue is that the CHDK boot process can't tell which button started the boot (On/Off or Play) unless the On/Off button is held down during the boot. So the decision was to always start in
Play mode and not extend the lens in case the user was not expecting it.
I've never really understood that reasoning as without CHDK you can start your camera in shooting mode all day long with no concern about damage. And 99% of people start the camera with the On/Off button in shooting mode every time. Granted, CHDK always starting in shooting mode would mean you can no longer start the camera in playback mode (unless CHDK requires you to hold down the playback button during the boot

) Is that really a problem?
The code could be changed to allow starting in shooting mode, unless the Play button is held down, now that there is a use case for why it's needed. The difficulty is that it would require editing the
boot.c file for
every camera firmware version - a big job that would be almost impossible to get fully tested in these days of declining interest in CHDK. And it would either be on or not, there is really no easy way to make it a user option. I suppose we could provide two DISKBOOT.BIN files - one normal and one that boots into shooting mode but that's messy.
Having said that - you could do a personal custom build just for your application if it's that important to you. The required code change is trivial.
i was one of those users, but after 1.3 some advanced settings of CHDK were broken, so i had to stop using them.
That's interesting - do you have a list of what stopped working? I don't recall hearing about that but it has been quite a while since that update.