By asking a CPU Miner (or any miner that isn't at least some X% of the network's total power) to process the entire getwork solution space before performing another GetWork, you are dooming that Miner to a very significant percentage of Stale shares.
Potentially stale to the network, yes... to the pool, not always.
To that degree though, you could technically say that any miner who has not solved a block for the pool is not benefiting the pool. We tend to disagree, and thats why we credit equally across the board. A submitted share is a submitted share.
The point of efficiency in mining is to reduce server load, thus allowing a much larger number of users to participate in the pool, so if one user is requesting only 1/10th the number of getworks as another, but submitting the same number of shares, I'd say they're doing us, and everyone in the pool a service by allowing us to accept more users.
Thats our perspective though. It works for us, and you're open to your own opinions.
I apologize if some of these answers make little sense. It's now 6AM for me and I'm heading to bed in order to get some much needed sleep. The past two weeks has been an average of 10 hours of coding, a full time job, and 4 - 5 hours of sleep per night.