Wow. I can't imagine how anything ACP's logic could do or not do that would account for this. You can trace through the script logic in AcquireSupport.wsc TakePicture() starting around line 3348. Don't laugh at the yuge list of parameters!

Starting at around 3672 where "(starting exposure)" is logged, you can see the crazy logic that I have for managing cameras. There are two paths, one for overlapping slew-next with image download, and one for downloading the image all by itself. One waits for Camera.ImageReady (already downloaded), the other waits for Camera.ReadyForDownload, with the actual download later after maybe starting a slew. Too much to describe in English. Anyway, if the "sanity timer" was exceeded you'd get that "**Exposure failed after being successfully started" message logged. You didn't and the image actually completed! So the way I read it, the call to Camera.Expose() as around line 3660 didn't return for over 3 hours, and then returned True. This is an asynchronous call, meant to start the exposure.

I think it's safe to look at the Camera logic that MaxIm calls. For now I'm going to move this to the "other software etc." section.