Come on, Steve. Here was your big chance to do the right thing.
You could have simply allowed people to assign any song on the iPhone as either a general ringtone or the ringtone for a particular contact. Instead...
1. You have to buy the song from the iTMS (though if you have bought it before you don't need to buy it again).
2. They only let you make ringtones from a smaller subset of available songs.
3. You have to pay extra to make it a ringtone.
There are shareware apps out there that will let you simply copy any audio file into the ringtone folder on the phone, but at the moment they clash with iTunes 7.4. And who knows how hard Apple will work to protect this revenue stream. Personally, I suspect that AT&T insisted on this functionality, and I suspect they're getting the lion's share of the 99¢ ringtone fee.
I have only one song I want to turn into my ringtone, so I'll still probably go about it the "official" way - simply because it's cheaper than the shareware options and less trouble in the long run. But Apple, being the imperfect institution it is, sometimes is capable of disappointing in a big way.