why is cgminer slowing down over time?
It might be a signal your GPU is slowly decaying away, or may have to do with competition.

What coin are you mining, and at what pool? I've noticed that as more miners with more powerful machines enter a pool, they tend to give partial results very quickly so the pool orders a work restart more often - lowering the number of shares I get. If your pool allows you to manually set difficulty then set it to a lower value: better to send some shares for a lower difficulty than no shares at all.