There are just SO many differencs between the Olympic marathon and the big city money marathons.
You get an unlimited number of Kenyans in the big city race.
Look at Boston. Every year they might have 6 or 8 Kenyans entered. As a group, they outnumber any other country. So the odds are that one of them will be the one to have the day and win. Cut that down to three and you decrease the likelihood of one of them winning.
The modern marathon is set up to produce fast times. The course is designed for it. The date is chosen with an eye toward cool weather. Rabbits are hired. Essentially, you've created a forum to see who can run the fastest time trial.
The Olympic marathon, and the World Championship as well, is an old fashioned race. If you want a fast pace, you may have to do set it yourself. It will probably be warm if not hot. The course may have a hill or two. Remember Khannouchi's explanation for why he dropped out at Edmonton?
I think we've got a aituation where a certain type of marathon runner shows up on the world stage for three out of four years and then another sort of runner turns up for the Olympics. You certainly can't rule out more aggressive drug testing as a factor, but it's not the only one, by any means.