AT&T sucks. Earlier, I thought a USPS package might be my phone, but it’s not. AT&T says it will ship Sep 23-30, and I hit the cancel button on the order yesterday so I could try to pick one up from an Apple Store today. AT&T did not cancel the order, and overnight it changed from “On hold” to “We're just about ready to ship”, and the cancel button is now gone, even though it definitely still hasn’t shipped (I have accounts with FedEx, UPS, and USPS and can see as soon as labels are created). Had the cancel button actually worked yesterday, I could have had a phone in my hands right now from Apple or Best Buy, but no.
I’m pretty sure the system is designed to prevent you from switching your order to someone else. If they were a customer friendly company, they would allow you to cancel instantly and get your upgrade eligibility back immediately at any point in the process, even if the phone has shipped (just charge them the full amount if they don’t return an order that was shipped and cancelled). Them cutting off pre-order cancellations before phones have even shipped is just downright customer hostile.