Sorry you have some misconceptions about the effect of mining at different difficulty so let me clear them up once and for all: It makes no difference to these devices what difficulty you mine at in either hashrate, hardware error rate, or reject rate.
If those random hardware errors cause the entire current work unit to fail, then it's best to keep their effect to as small a portion of work as possible.
Let's pretend that work diff of 64 takes about 10 mins, on average, to produce an accepted result. If you have a
single hardware error in that 10 minutes, you wasted the entire 10 minutes. If you had broken it up into 8 units of 8 diff work, you would have only lost ONE of those work units, not all 8. Instead of losing all 64, you get 7 of the 8, or 56. 56 is better than 0, yes?
And if you're churning away at solving a work unit diff 64, and only make it to halfway (32) before a block is found by someone else....you just wasted the progress you did have (32 -- which is 'halfway'), since you can't carry that work over into the next block.
I was basing it off of what I was witnessing with my fury in bfgminer 3.5.1. 3.2.0 doesn't report the errors. Neither does your cgminer, as well you know.
There may be some sanity checking that allows partial recovery on a HW error, but I wasn't seeing it in bfgminer 3.5.1. I saw much lower effective rates as I increased the work unit's diff. And yes, I let it run long enough.
The hardware mines at diff 1. Everything else to do with diff is done outside of that so it makes no difference to how the hardware performs. Anything you're seeing is pure luck and variance related. There is no "progress" or anything else that matters. Every hash is a single hash. At diff 64 you find 64 more when you find a hash good enough, but you lose 64 on a reject etc. It all evens out in the end. If you believe anything else then you're just misunderstanding how this all works.