The problem with this issue is that players transfer for a variety of reasons, and it's difficult to judge a player's motives unless you know the underlying reasons. When a 17 or 18-year-old chooses a school, we expect them to be bound to that decision, even if they have second thoughts. Meanwhile, the coach who recruited them, and (likely) promised that he or she would be around for the next 4 years can buy out their contract and jump to another school for more money.
I know this would be unworkable in practical terms, but personally, I would like to see a rule that says, when a coach leaves a school, all the players on that team should have the right to transfer without penalty.