What about :
Have a big rig such that it finds a block rather often. (2-3GH/s+)
Have parts of this rig in multiple pools, with score-based and share-based reward. When the subrig on the pool with score-based reward solves a block, retain the solution for a moment. Shift all your other subrigs working on pools with share-based reward to this pool, increase your score (this is rather quick in Slush's pool) until it you reach the score corresponding to the whole rig involved. Then submit the winning solution.
You could also extend this if electricity is expensive and mining is unprofitable at times for a part of your rig, so that you have certain of your miners idle. You can then use them as extra power to increase your score for a low energy consumption, since you turn them on at the right moment, and off again.
?
This should be possible, and in the limit it allows the cheater to almost double his earnings. I don't know if it was discussed before, I'll call it the "lie in wait" cheating method.
A possible countermeasure, which I don't know if is now implemented, is to keep track of the times of getwork requests, and ignore shares which were requested later than the winning share (or in the same getwork with a higher nonce).