The main reason Comcast and other carriers are trying to keep NAT
out is almost surely in order to price discirminate. If you are
using NAT, you are probably a sophisticated (and therefore presumably
moderately affluent) user who can afford the extra charge. Further,
if you are using NAT, you probably value your connection more than
the typical residential user, and so should be willing to pay more.
This is the same argument that led phone companies to charge extra
for additional phones in the past. (And note that this policy has
not disappeared from the scene. The charge for a second voice
line for the home is higher than for the first, even though the
marginal cost of providing that service is much lower.) It is
the same argument that led snail mail services up through the first
half of the 19th century to charge for letters by the sheet (with
postal clerks sitting in darkened rooms, holding letters up against
candle light to ensure there were no additional sheets hidden
inside), and also to charge according to distance, even when the
marginal costs of long haul transport were negligible. That such
practices surface constantly is no accident. There are good
social policy arguments for price discirmination. On the other
hand, those arguments conflict with the general preference people
have for simple pricing (as evidenced by the comments on this list).
If you are interested in pursuing this further, I have a paper on
this subject, "Internet pricing and the history of communications,"
which appeared last year in "Computer Networks," and is available