I agree with you in principle, but you don't throw away the good in search of the perfect. Why not accept those short term gains and build upon them to reach an ever larger population of students? Finding a solution to the larger problem of progress for all students starts with the assumption that all students are the same, and there is one solution that will work for all.

I do like your solution proposed in the last sentence. Maybe keep the age difference to less than 3 years or something appropriate, but group kids according to ability, not age.