So I've been working on manual focus. If I put this in platform_camera.h:
#define CAM_CAN_SD_OVER_NOT_IN_MF 1
Then the subject distance override seems to work. Kind of. The camera still performs autofocus, but afterward, the focus distance changes to what you selected.
There's a problem, though. The camera occasionally crashes when changing the manual focus distance:
ASSERT!! FocusLensController.c Line 708
So apparently CAM_CAN_SD_OVER_NOT_IN_MF is not safe on this camera.
But there may be another solution: AFL mode (Auto-Focus Lock). If you press Left while half-pressing the shutter, the camera locks focus at the AF point. It seems safe to move the focus point with CHDK while in this mode--I played with it for several minutes, racking focus in and out, with no trouble (in AF mode, it crashed after a few seconds every time).
So perhaps I could update shooting_can_focus() in core/shooting.c to check AFL on cameras that don't have manual focus mode?
(BTW, there's another issue with this camera, namely the fact that DISP and DOWN are the same button, so the shortcut assignments for Infinity and Hyperfocal clash. The games lose functionality too, not that this concerns me much, since I intend to build them out on my camera anyway.)