It looks like the code in boot.c does not call core_spytask_can_start(). This causes the spy task to wait for about five seconds before proceeding.
This will take a change in the core CHDK code. Not sure why it's not there already, but if you are willing to test, I'm sure somebody can produce a patched version and add it to the autobuild if it works.
I'll do it later if nobody else has a moment or better idea first. Patched version attached - SD card lock booting only.