Under att's new plans, you pay $25 more per line for subsidized phones than for unsubsidized phones ($40 vs 15). Over a two year contract, you're therefore paying $600 more in per month charges, when the subsidy was only $450 (pay $200 up front for a $650 phone).
But, to their credit, the per month price does automatically drop by $25 once the contract is up. So with a subsidized phone, you do end up paying $800 for a $650 phone, but they don't keep piling on after the contract is over.
So I'd say att has made progress in two ways (offering no-subsidy phones and automatically lower monthly rate once contract is up).