I got some details wrong; in particular, the initial dispute denial was after two months (with the Consumer Financial Protection Bureau agreeing with the bank after another two months), and the resolution followed NJ Advance Media contacting BofA.
Did they volunteer these details or were they asked? This is just conjecture, but sometimes when people volunteer too much information to front-line support you can get erratic responses if they latch on to superficial parts of the story rather than the underlying message.
i.e. support just hears "I gave someone access", and they close the ticket under "customer authorized someone else to purchase", because they're following a decision tree, not analyzing the root cause of a security incident.
12 CFR § 1026.13 (f)(2)