Here is the thing: Cable companies use a shared line from your house to their central office. Phone companies have a dedicated line from your house to the switching station. As a result, cable companies have caps for a different reason than phone companies. Cable companies don't want you to overload the network between you and their central office. Because phone companies already have a dedicated twisted pair from your house to the switching station, there is no effect on other customers by transferring excessive amounts of data between your house and the switching station. As a result, phone companies have caps because they don't want to overload their connection from the switching station to the internet backbone.
In other words, cable companies have a legitimate reason for having caps. Phone companies do it because they are greedy. The fact that it is not the connection between your house and the switching station that is what AT&T is worried about overloading is evidenced by the fact that they let 3rd party DSL ISPs offer uncapped DSL service.
AT&T U-Verse is not cable. Because cable uses a shared line, all of the TV channels, whether or not you are paying for TV, are coming down the line to your house. The cable company encrypts the ones they don't want to give away for free and then charges for access to a box that decrypts the TV signal. U-Verse, at least in my area, is just something that AT&T is running on top of the existing phone network. As a result, it is very likely that AT&T is only sending the channels that you are watching down your line if you have U-Verse's TV service. Because they only need one copy of each channel going to the switching station, there is not really any additional load on their network created by their customers watching TV.
Now, it is very likely that the phone company would at minimum have a caching server for their video service in their switching station. As a result, video on demand service would most likely not add much load to AT&T's network.