We do something like this in baseball - it works quite well IMO and I think its a good keeper format for a league where you want to use keepers but don't want it to be the prime factor in determining the best teams year to year.
I assume that you will be letting players be kept for multiple years, forfeiting a pick 2 rounds earlier than the year before (whether drafted or kept), right? So if you drafted Mendenhall last year for a 10th rounder, you could keep him for an 8th rounder this year, 6th rounder next year, and so on. Again, I like that setup (we use this in my baseball league), but I think I'd make teams forfeit draft picks 3 rounds earlier instead of 2 in order to prevent someone from hitting the jackpot with a last round pick and keeping him for 7-8 years.
When you say that some want it to be that you lose your last round pick, are you referring to free agent pickups (keeping them with a last round pick instead of a 9th round pick)? You should definitely go with the 9th round idea - it rewards teams who proactively DRAFT sleepers instead of those who stumble onto them mid-season. Someone who drafted Miles Austin in Round 17 last year should be rewarded more than someone who picked him up in Week 3. In fact, you could argue that free agents should not be keeper-eligible at all (though I wouldn't go that far).
Go for it - its a good format.