Using the print button: that's a neat tip. It does have a similar effect to pressing the DISP button on another A-series camera because it turns off the on-screen shooting info. But pressing and holding again just turns it back on, it doesn't turn the LCD off.
I'm currently getting 439 exposures, that's in good light with the AF-assist turned off, one exposure every 20 seconds with a 4 hour delay before the first shot. That's with nothing stuck in the AV port, and the LCD-timeout set to 10 seconds. In total, I get about 3 hours and 8 minutes of shooting time before the batteries give out. I seem to be able to increase the delay at the beginning anywhere from nothing to 6 hours without seeing any consistent, noticeable drop in the number of frames, which is really great.
I'm not quite sure how to use the code in your post, it appears not to be uBasic; can I escape into another lower-level language somehow? ETA: Just reading up on
http://chdk.wikia.com/wiki/LUA right now. Another language to learn, oh boy.
Is there any way to reduce the number of seconds before the LCD times out to something lower than 10 seconds? The options in the Canon firmware menu seem pretty arbitrary; 10, so or 30 seconds, a miute, 2 or 3 minutes, and that's it. if I could change it to 1 or 2, I'll bet that would help.
Also, it would be great to write my code in such a way that it DOES meter the exposure every time but does NOT check focus, is that possible?