Reminds me of running instances on AWS. AT&T has no financial incentive to reduce these surprise charges. Seriously there should be a hard cap that we can set. Sure we are responsible for these charge, but most of the times naive consumers are not aware. Amazon clearly posts the prices of their instances, but it's not uncommon to get a $30,000 bill accidentally due to some developer testing out their application by spinning off instances. You get charged for the whole hour when an instance starts on AWS and things can show up on their accounting system weeks later.
A real time system for monitoring usage should be mandated by law and sufficient warning should be available. A data roaming plan should automatically be applied if it will save you money. Most importantly we should have the ability to set a cap.