From a legal point of view, I think that a $0 hotel room (or airfare) and a $29 airfare are different animals.
In the $0 scenario, nothing has been exchanged, so in the eyes of the law, a contract may not exist.
In the $29 scenario, money has changed hands and a contract has been entered into. The provider is thus obligated to honour that contract.
If, somehow, you managed to book 300 $29 fares to France (take *all* your friends) then I feel the airline is obligated to honour all 300 tickets. They have made the conscious decision to move to an automated model -- with all the risks that this entails. If they're letting the computer make contractual obligations, they must abide by those obligations.
Just my $0.02. Your mileage may vary.