SMS piggy backs on the signal your phone uses to talk with the tower to tell it were it is and that it is receiving a signal.
Text notifications use the regular incoming voice ring paging channel if the phone is not connected in a voice call at the time, or a dedicated forward control channel if it is.
The phone also still has to authenticate itself in order to then receive the text, just as it does for voice calls.
The only added cost for ATT is having a few servers to handle the messages and on the back end it would be like an Email server at most.
It's not just "a few servers". More like hundreds, most likely. Expensive ones, too.
We're probably talking about up to 2 billion texts a day on AT&T. During busy hours, perhaps more than a million texts a _minute_, with the target phones having to be found all across the country.
Because they have to use carrier control channels to locate the recipients, that's the control load equivalent of initiating 2 billion phone calls a day, with all the associated extra control server costs.
The text servers not only need to store each message until a delivery confirmation comes back, the servers might need to modify any attached picture sizes. They might also need to talk to email gateways.
The servers would be in multiple locations around the country, with associated building, physical and logical maintenance, electricity, cooling, security and backup power costs.
Phone companies are big, and their use of $100K apiece UNIX servers is huge. So no, texts aren't free to the carrier. That said, there's little doubt that texts must be very profitable.