Testcase:
https://github.com/dcci/mongo-stress/blob/master/moveShard.c
In order to trigger, here https://github.com/dcci/mongo-stress/blob/master/moveShard.c#L102
instead of i += 2, just put ++i.
The first 14 splits works just fine then 1 over 2 fails. As long as "find" is used, maybe it's not actually splitting at the exact point, it's splitting the chunk in half, then when you keep splitting there's already a chunk boundary at that point. Using "middle" fixes the problem.
After a discussion with greg_10gen he thinks this is probably WAD, but keep track of this for further investigation.