Besides upgrading CGMiner, here's what I did:
I ran 2 .bat files side by side, one ran CGMiner in a loop, and the other would kill cgminer in a loop. When Bitcoinkill.bat would force close CGMiner every hour, the Bitcoin.bat would wait 10 seconds, and then restart it. If everything ran smooth, I'd only lose 10 seconds of mining every hour. If everything went to shit, I'd only lose an hour of mining max.
Bitcoin.bat
:loop
C:\cgminer\cgminer-fpgaonly.exe -c C:\Users\Crazyates\cgminer.conf
timeout /T 10
goto loop
Bitcoinkill.bat
:loop
timeout /T 3600
TASKKILL /F /IM "cgminer.exe"
goto loop