The problem is that they're putting a price on something that they shouldn't be able to put a price on: The way you use what you paid for.
It's a strong suit in court, and luckily for them (so far) no one has sued. It doesn't matter what their TERMS are, it's what you paid for and what the court thinks is fair use.
If you pay for unlimited data - that's what you should get. If they wanted to limit it, it should be 1GB data, not unlimited.
(I bet this is mostly ATT's fault, but I guess it's easy to blame Apple for following through on agreements.)
I'm not familiar with the iPhone development platform, so I'm curious: if they distributed the source code for the app, could anyone sign up for a dev account and create a development copy of the application for their own phone?