The sx260/sx240 port is missing CAM_NEED_SET_ZOOM_DELAY, that's the most likely reason of the zoom rated crash.
So does the use of the word "missing" imply that this should simply be enabled for all cameras?
Not complaining here, but I posted a test script to try and narrow down the problem - fully expecting the result to be one of the camera.h ZOOM #defines ( e.g. CAM_NEED_SET_ZOOM_DELAY CAM_USE_ALT_SET_ZOOM_POINT CAM_USE_ALT_PT_MoveOpticalZoomAt CAM_USE_OPTICAL_MAX_ZOOM_STATUS ). You jumped straight to CAM_NEED_SET_ZOOM_DELAY - which would have been my first choice too once the test script confirmed it's not a problem with kap_uav.lua.
From what I can see looking at the code is core/shooting.c the addition of the
msleep(CAM_NEED_SET_ZOOM_DELAY);
is not going to break anything.