I'm running a full IDP league with rookie protection off of Fanball. Because fanball has a 30 person team limit, we leave protected rookies and injured reserve players off of the roster - ensuring that active players must be dropped for a protected player to be played in a contest.
We have a list of protected and IR players on the forum for the league members to check before picking anyone up on the WW or FA. If someone does pick up a player, I'll take him off immediately, and they lose out on whomever they dropped to pick him up.
The system works relatively well, and it doesn't leave much room for incident as long as I stay active.