Settings: MLB Quickstart All in One
Scouting Accuracy: Very Low
Top Prospect List: Dynamic
Lineup Selection: Sabermetric
Rating Weight: 25
Current Year Stats Weight: 25
Previous Year Stats Weight: 25
2 Years Ago Stats Weight: 25
Create and Maintain Hidden Players: Yes
Ran the first season again, this time changing the AI Player Evaluation Options to what SirMichaelJordan recommended in another thread.
May 15th, 2012 Promoted from AAA to MLB

This time the AI left him in AAA to start the season. He then played in 36 games collecting 145 at-bats where he hit .331 So the same player with the same abilities was left in AAA and not moved around the minors and he blossomed.
MLB May 15th, 2012 -> All Star Break

So far, he is making the most of his promotion to the big leagues. He has played in 43 games and collected 120 at-bats and is hitting .367! Not bad, especially in the first example this same player was in down Short Season A ball with a fractured ankle, which is not helping the major league club at all. In this example he is healthy of course but no where near going down to the Single A club.
MLB End of Season

So at the end of the season, he had a solid rookie year. Playing in 104 games and getting 347 at-bats, hitting a .285 and playing center field. A much better outcome, then being demoted three times to Short Season Single A ball and sitting on the 60-day DL with a fractured ankle.
Now of course this whole situation might be caused by setting the scouting accuracy to "Very Low" thus blinding the AI that originally was weighting the ratings by a value of 45. And in this example and the previous by putting more weight in the stats, the AI is able to make a smarter decision about player movement in the minors.
But for the people who like to turn off ratings and make scouts act more like real life counterparts, here are some examples of what to use for the AI to better compete in an environment when ratings are not the be all end all.