I think I found sort of a solution. The script below will only work on Digic III (only a570is tested, of course). I couldn't find a "flash ready" propcase documented for the Digic II on the wiki, so I can't even try to port it. But I don't know if any Digic II cameras have a problem with auto flash in the Simple_Remote.bas from SDM, either.
The script below is really just a dirty hack to get around the fact that there's something wrong with using Auto flash mode on these cameras with uBASIC. The problem with the original script is that if you try to shoot with auto flash, the script will freeze right before shooting unless the camera has chosen to fire the flash.
To prevent this, this script detects whether you are using auto flash mode or not. If you are, it never shoots right away. Instead, it half-shoots, checks whether the camera wants to use the flash or not and forces the flash ON or OFF for the duration of the shoot command (btw, "Flash ON" is available in AUTO shooting mode by setting the propcase from CHDK, even though it is not available from Canon's buttons or menus).
So, this script shoots rather slowly if the flashlight is in automatic mode, but it won't freeze like the regular script does. In flashlight ON or OFF modes it's no different from the regular remote script.
Using press "shoot_full" instead of release "shoot_half" and shoot may be a way to speed it up, but I didn't try that yet because that arrangement causes camera lockups in my fast MD script.
(The script is attached, log in to see it, pasting doesn't seem to be working for me today and I hate unnamed files anyway).