[...] lose a share [...]
How are you supposed to 'lose' a share if it doesn't get rejected? Did it get stuck somewhere in the depth of the transistors?
Because you COULD have submitted 3x 128 diff shares already. If a 512 diff share should take 1m, a 128 diff share should take 15s. Therefore if it takes you 63s to find a 512 diff share (note: this would have been stale/rejected since the block changed) you could have submitted 3x 128's that were accepted in that time.