I think one thing most people are forgetting is that you are not BMW’s customer. I’m speaking only to the United States, but one thing to keep in mind is that the dealer is buying your car, not you. You place an order with the dealer, and the dealer then orders from BMW. Yes, BMW does a good job papering over the fact that you’re not the client with “real-time” production updates and integrations between their site and dealers, but the cracks are there if you look for them. The supply chain issues have blown those cracks wide open.
What used to be a non-issue due to order delays being a month or two is now a huge issue now that delays are 9-12+ months. Trade-in values are unpredictable. Your contract with the dealer (and probably your order) is probably worthless (and subject to local consumer protection laws).
On the subject of those contracts, try to cancel it and then come back here to complain if they don’t (and then write your state attorney general’s office). My dealer offerred refundable deposits up front because they know there’s zero guarantee on supply and the end result being the build I ordered.
In a world where the dealer is the customer, not you, and can place any order in front of yours, reset your expectations and play the game differently. BMW is not setup to deal with ever-changing supply chains causing 9-12 month delays. They want your money, and will push anything out the door that will sell. They know you’ll be back. If you want to send a message, then go with a brand that has something to sell. Otherwise, deal with the situation as is. Speak with your wallet. My $0.03 (inflation) from the perspective of a someone who’s never owned a BMW before but deals with supply issues for work.