I think the most enlightening perspective on meta-cognitive self reflection comes from science, and more specifically, the scientific field of artificial intelligence and robotics. It comes from the solution to one of the classic conundrum of robotics. We can make robots that are physically capable of all sorts of tasks but the problem has been programming.
For years the way we have programmed robots to do tasks in a way that is very similar to the way we teach kids to do tasks. We create a linear program, a step by step procedure for the robot, or child, to follow to guide them through a certain task.
The problem with AI and robots, as any one who has ever played with Lego Mind Storm Robots will tell you, is you can have a great program written and entered into the robot to execute a whole series of tasks, such as roll down a track, scoop up a ball, turn and drop it into a basket, but all you have to do to mess that robot up is move it over an inch out of its programmed stating position and it will never be able to complete the task. Linearly programmed robots simply cannot handle even small deviations from what they are programmed to do.
The other problem is to program a robot to do a simple task takes a huge amount of code, and even then the programmer cannot account for every possible variable that could effect the robot, like some one moving it over an inch out of its intended starting position. After many years of tying to come up with more specific programs, better processor and powerful technology, most researchers in AI and robotics have abandoned this approach to programing. This is because most believe that this linear approach will never really work to get robots to a point where they can actually perform useful tasks outside of an industrial line. In the real world all the variables cannot be carefully controlled.
Instead, these scientists have moved to experimenting with what they call self referencing systems. This means that the robot's program, rather than being built with a series of instructions to perform a task, is built with a system of guiding rules, principals and processes that are constantly referenced to the machines environment and then rerun the data through the algorithm to choose the most appropriate action. This has produced robots that not only are better equipped to perform tasks like vacuuming, but they also do so with considerably less programming. The key is self reference with the environment and an effective set of rules to guide it through a situation.
The interesting irony is that robot programers have abandoned linear programs for self referencing models because they more closely follow what we know neurologically about how real brains function, but in education we continue with linear education routines. In robotics they came to realized that linear programing produced robots that were too inflexible to function productively. It may be that we need to learn from those who are trying to build more functional machines when we educate and creating educational systems that are more self referencing, self reflective and metacognative in nature.