My league is a little different than the normal league, but I'll get the ball rolling here.
We hold our 5-man minors draft after everything else is done, which is nothing new. However, we allow anyone to be drafted. That means a player with 1,200 ABs could be drafted if he wasn't taken in the auction or free agent draft. We also allow you to go to the opposite extreme and take someone who's so young he's not even on most radars. We keep the rules that open because it actually creates less confusion.
The rules regarding promotion/keepers are where we get to the nitty-gritty. When the minors draft is complete, we denote each team's minors players as a rookie or a non-rookie based on their ABs/IPs as of the beginning of the season. Any player that began the year as a rookie can be kept at the end of the year. If you keep a player, you lose your lowest minors pick in the following season. If the player began the year as a non-rookie, you cannot keep them at the end of the season.
I don't want to get into too much detail, but we reward teams for promoting true minor leaguers by giving them a free year of active roster keeper eligibility without cap penalty. If the player was drafted as a non-rookie, there is no reward for promoting the player other than having been the only one able to have access to him.
In summary, if you draft a minor leaguer, you can keep him on our minors roster through the year in which he gains non-rookie status. Assuming you promote him the following season, you get him that year and the year after for free. So, you get the player for his first three years of MLB time without contest and for free.
Another league I play in - a $260 league - demands that you promote a player in the same year he achieves non-rookie status. The player goes in a 5-year, non-guaranteed contract with salaries of 2/4/6/8/10. If you keep the player all 5 years, you are awarded matching rights on the player.