The reason all of these contracts were approved is because the teams that signed them swore up and down that the players would see them through to the end, and therefore the teams would not benefit from the cap/salary difference long term. They blocked the Kovalchuk one that ended at 45, but approved all the ones that ended around 43 or earlier. I have zero sympathy for any team that gets hit with a recapture penalty, because the contracts were absurd to begin with.
It was legal, within the rules. This is completely on the NHL. If they had such a problem with it, they should have blocked the Luongo contract to begin with, similar to the Kovalchuk deal. They accepted it was "within the spirit of the CBA" at the time. To retroactively punish the teams who signed contracts (which the NHL approved!) FOUR years later is asinine. Zero blame should be placed on the teams. You're trying to be competitive, and you're going to use every advantage you can. Like I said, everything was above board. If the NHL thought they were playing dirty, they shouldn't have allowed it at the time.