I think he may be right. This happened to me and I just thought it was a fluke. Basically I was mining at Pool 1 and pool1 went down for like 5mins. During the 5mins my miner switched to pool2. pool 1 came back and it didnt switch back. Is their a time limit before it switches back/checks? For example 1 time per min or something
If there are backup pools, it won't go back to the first pool until that one has been up for over 5 minutes, as a "stability test". This prevents cgminer from trying to connect to pools that are limping along and dropping out every 2 or 3 minutes during DDoS and so on. It's very easy for your hashrates to dive under those circumstances if you reconnect immediately to a pool whenever it comes back up.