I've exhausted all avenues getting this resolved; so I'm posting this here mainly to document the absurdity of what happened, and as a warning to other developers.
We built an app that was rejected because of its name. We happily renamed the app, creating a new app record because we also wanted to rename the SKU and Bundle ID, and you can't do this any other way.
Big mistake
Now there are two factors combining to put us in an impossible situation.
- The little-known, bizarre limitation of iTunes Connect that "An app that has never been approved can never be deleted"
- The improper enforcement of the 4.3 guideline such that "Similar apps you have submitted in the past" apparently includes apps that were rejected and are not on the App Store.
So now, our New Name app is being rejected for being too similar to our Old Name app. And the Old Name app can't be deleted because it was never approved.
To make matters worse, thanks to inconsistent enforcement, our New Name app actually was approved in its first version (1.0) but now a bug fix update is being rejected (1.0.1). Several customers have purchased the approved version, so if we delete it now, they'll literally lose their purchase.
I've been through this with the review team, the appeals board, and even developer phone support, and nobody can suggest any resolution. They just keep blindly parrotting the irrelevant 4.3 guideline, and pointing me to the useless instructions for deleting apps (which don't work in this situation).
For the record, this app is the opposite of the "spam" that these guidelines were meant to prevent - it's actually quite a useful app, and to my knowledge there's nothing else that fills this niche right now on the App Store.
As a contract developer we've built around 15 iOS apps for various clients over the past 6 years. From now on we're going to be advising clients to target Android first or build web apps. The chance of arbitrary rejections on the App Store, coupled with the additional time it takes to jump through Apple's hoops, and the problems we've had in the past with Swift version deprecation, make the risk of developing for iOS simply too high right now.