Exactly that is the point however when a block changes a miner will have "wasted" any hashes being worked.
Maybe my wording is unclear but since hashes are an artificial measurement there is some "loss" which means a lower throughput miner takes MORE shares on average to achieve the same number of shares as higher throughput average.
This is because the pool only sees work in "full share" steps. If shares were smaller it would be less of an effect and if shares were larger it would be more of an effect.
Currently a 400MH GPU outperforms 2x 200MH GPU in terms of shares earned by ~3% and outperforms 4x 100MH GPU by about 5%. I know because I experimented by downclocking GPU to simulate slower GPU and running them for nearly a week to compare shares vs hashrate.
With higher difficulty this effect will be increased.
When hashing (assuming a fixed hashing rate) the expected time to find a share can be approximately modelled by an exponential distribution. This distribution has a "lack of memory" property. This means that the expected time until the next share is found is independent of past events. To say that one has lost progress towards a share is to suggest that it is possible to make progress towards a share; this is simply not compatible with the loss of memory property. A miner can no more make progress towards finding a share than a pool can make progress towards finding a block.
One thing which can cause the illusion of partial shares at the end of a round is frequently seeing rejects at the very beginning or end of a round. This is generally caused by setting high aggression.