Finally called ATT regarding caller ID blocking. Regardless of whatever else works, i.e. *31# to unblock caller ID, ATT tells me *82 is the only official UNIVERSAL method to do it.
They eventually told me it was a device issue that *82 did not work and sent me to Apple. Apple told me this:
The iPhone controls its own caller ID broadcast. If you turn the iPhone Show Caller ID off, it will override any setting you may have with the carrier. So *82 simply will not work, because the iPhone won't send the caller ID with the call, or it will countermand the *82 code, however it works.
Even though this sounds counter-intuitive, you have to have the carrier ATT BLOCK your number at their end. Then, you have to set the iPhone's Show Caller ID to ON. This way, the iPhone sends your number no matter what. It's the carrier ATT that actually does the blocking now. When you dial *82 on the iPhone under these conditions, the code tells the carrier ATT to unblock the settings in their computer. If you don't dial *82 on your iPhone, your number will NOT be unblocked regardless of whether your Show Caller ID setting is on or not.
Confusing? You bettcha.
Somehow *31# will override the iPhone's blocking feature, but if you want to keep things standardized across the board with *82, call ATT, have them block your number at the switch. Then turn your iPhone Show Caller ID to ON. All numbers dialed from the iPhone will now be blocked. When you dial *82, the number will now be selective UNBLOCKED.
The reverse is also true. If you want your number unblocked all the time and only selectively blocked from time to time, which seems to be ATT's default settings, make sure the iPhone is set to Show Caller ID On. Then *67 will block the specific number as you dial it, no need to run back to the settings menu to switch it back & forth.