Honestly, I find that mildly restrictive, and somewhat more difficult to to make sure everyone is consistent in doing so. I'd prefer it this way, IMO:
Continue to require 8 or less keepers from season to season, however, during the season, remove the 8 player cap altogether - or increase the cap. Since prospects, especially those not in your favorite team's system, are somewhat out of sight - I think evaluating your MiLB roster should be done after/before the season, not during. By increasing the cap to, say, 12 during the season, it will also allow more flexibility in trading during the season - so not being required to do even 1:1/2:2 trades, or having to drop players you'd otherwise not want to.
Just an idea.
Oh, and also I'm not sure if I like this:
However, once that player reaches the 50/130 plateau, they must be rostered on the MLB roster.
So if Player X accumulates 130 ABs in the minors by June, for example, I am required to promote him or else he is dropped? I'd prefer him to stay under my control for the entire season, regardless of whether he passes the limits - and then be required to drop him or keep him during the offseason.
Again, this makes things simpler - as someone is going to have to police 96 MiLB players throughout the season. Almost every keeper/dynasty I've been in that has had MiLB rosters now use this rule, either from the start of have changed to it.