Please note, that also other miner settings can affect time between getwork() and share submit. For example, "-f 1" parameter in Diablo miner rised latency between getwork and submit significantly (from <5s to >10s for ATI 5970). I solved this by "-f 5".
Please look @ http://nullvoid.org/bitcoin/statistix.php
Look at the 100 block duration.
SEVERAL BLOCKS ARE FOUND IN LESS THAN 60 SECONDS.
You should change the system to support submitted answers for the last block and the current block. That way anyone that submits an old work from the previous block doesn't get an invalid.
I understand the desire to cut off those abusing the system, which is a good thing, but you should make sure it doesn't affect those playing by the rules.