So my hashrate just dropped to 40ghs and this is what the log is showing.
[match_work_count1] => 23548
Everything looks fine?
That looks normal
Which hash rate are you talking about, the numbers reported by the pool or the MHSav number under the Status -> Cgminer Status tab in the interface?
I sometimes see the pool reporting lower numbers than the web interface

which is something I can't explain (power consumption is also the same)
My current solution is to hard reboot the machine when I spot this
Can you make a screenshot of the Status -> Cgminer Status page?