Realistically, a cap will just punish a club which can feasibly offer such a contract. I suppose the AFL reasoned that it was not going to break the club if they are paying all that money to someone who possibly won't be playing for a good proportion of the term. A club with money behind them can probably wear the risk. I reckon that will be the AFL's main concern, whether or not they will (again) have to step in and bail out a club which made stupid decisions. Plus I think the fact that it was Sydney is a big factor, they want Sydney residents to convert to the aussie game rather than being so enamoured by the english game. If it was the Eagles making that kind of long term offer I think they might feel differently.
If a club wants to be stupid enough to throw a 9 year deal to a 27 year old, then albeit.