After, many cycles I finally got another failure using SGP with just my camera and the filter in a big sequence of flats.
Considering how simple the ASCOM filter API is, I'm wondering if what is happening is that SGP polls for position and the driver does not return. Jared, could you look at the code and see how it is structured? A typical way to do timeouts would be a count down polling loop. If the driver never returned that might explain why SGP is not timing out.
Please let me know what you find. The filter has a serial interface which acknowledges a filter change. If the ASCOM driver is not structured carefully, I can see where a lost acknowledgement could cause the ASCOM driver not to return. That would also explain the interment nature of the error.
Here is the log file for the most recent failure. Look for the last filter change in the log at 8:07:09
https://www.dropbox.com/s/l196myldioozups/sg_logfile_20160609163350.txt?dl=0