i think that the spirit, if not the letter, of all of the rules has to do with gaining an advantage. if the 8 year old runner would have cut across the grass that is clearly an advantage so she should be DQd (it should be noted that just because she wouldn't place higher in this hypothetical doesn't mean she didn't gain an advantage). however in the 1500 heats the dude who got shoved onto the grass and ran 15 or so meters on the grass didn't get DQd because he didn't gain an advantage. it seems that the IAAF determined that those runners didn't gain a clear advantage over the rest of the field (you may disagree, but that seems to be their position) and that, contrary to some posters on here, it would have made a mockery of the competition to DQ half the field and ?all? of the medal winners.
in the end i think it is the right call. this is a competition not a time trial (throwing out the times is the proper ruling) so i think that keeping the order is fine even if none of the times end up valid. probably the race should have been called back (even if there is no explicit rule for that) and restarted with clearer guidelines and a DQ warning for those who cut in.
clearly the IAAF is in a no win position but i think this result is the best of a bad situation