Here is a data point for you. Not sure if it is useful.
I have been using poclbm (up-to-date from git). I decided to try hashkill for 24 hours to compare. Here is what I found.
* The hash rate shown on screen was in fact higher with hashkill vs poclbm. Close to 8% higher.
* % stale was not significantly better or worse (my pool supposes LP). It was good with both (about 0.5%).
* However, the submitted share rate was significantly lower. I understand that rate at which shares are found is driven somewhat by luck, but I feel like 24 hours of share data is long enough that a comparison is fair. I collected data from two different machines running ubuntu:
Over two 24 hour periods:
Machine 1, 6850. poclbm: 3974 shares, 195MH/s displayed. hashkill: 3630 shares 201MH/s displayed.
Machine 2, 2x6970. poclbm: 13256 shares, 670 MH/s displayed. hashkill: 12270 shares, 710 MH/s displayed.
I can't explain this data. But the reality is that I earned less on my PPS pool with hashkill.
I've noticed the exact same behavior, just haven't had time to conduct long time tests yet. hashkill had more hashes/s displayed, but just watching the pool statistics online it always had less hashrate registered by the pool than phoenix.
that's why I switched back to phoenix for the time being, even though I really like hashkill (and expecially the fact that one process supports multiple gpus).
FWIW, I cannot reproduce what you two are seeing: when I compare the projected coins created per day given the hashrate hashkill displays with what I'm actually getting from my pool, it is accurate to .1 btc. So on my rig at least, it seems to be hashing at exactly the rate it's displaying. The same holds true for my poclbm instances as well when I compare those... (Just my .02 btc)