I don't think we can control hashrate but the dev selected a PID algorithm (
http://en.wikipedia.org/wiki/PID_controller) to control the difficulty and it seems to be working as designed. I studied control systems theory in college and i'm intrigued by how this could be applied to control difficulty on a cryptocoin.
Remember from the OP, setpoint is a block every 180 seconds (or 100 blocks every 5 hrs). As far as I can tell the PID is right on getting there.
Yes, but network conditions can change quite rapidly, and only within a few blocks, 100 blocks will be a long trip if say you have a pool go down that was a contributor of %30+ to over all network hash rate. Might have been better to do 100 block sensor survey but block diff to change every 50 blocks.