NCLB did not prevent kids from repeating a grade when it's necessary. Are you thinking NCLB means no child can be left back or repeat a grade?
The main problem with NCLB is that it basically graded schools based on the results of standardized tests which forced teachers to have to teach with the goal of the most successful outcome on those tests. Poor results, even from the highest performing students who just test badly, meant a "bad grade" for the school. So schools did whatever they had to do to get the highest grades and most positive outcome on the tests. The focus was the tests, not the kids.
Having an child repeat a grade, especially one that is having difficulties, would increase the chance that a school would have a better outcome when the child starts taking standardized tests in third grade.