Welcome to Flyertalk and welcome to the BA Forum.
I don't think there is a known or systematic error here since what you did - cancel one booking, create a replacement - must be something that many people will do from time to time. This is the first time I've heard of this happening, and typically there would be other cases in FT if this was a known issue. From what you have said, BAH think you cancelled XYZ456 before you completed that reservation, which is all fairly provable. I would work with BAH as much as you can here, and as a last resort you can revert to your card provider to do cashback if you have paid for a service that you have not received. If BAH's argument is that you cancelled before you booked then I would expect your card provider to be sympathetic to your case. BAH is usually fairly fast at resolving issues, so I would give them a bit more time to look into the IT side of this. I think it would be a brave BA employee that would state that BA's IT could never do this. You don't have any choice but to work with BAH on this. If your date is approaching I guess you have the option of putting in a third booking, but obviously do this in conjunction with an agent familiar with the case so that your position on bookings 1 and 2 are noted in booking 3. I would step away from the accusation game, and stick to a technocratic / pragmatic mindset. If all else fails, then talk to your credit card company.
Incidentally if a booking is cancelled - by user, by computer - it can't be reinstated or undone, almost certainly a new booking is needed and obviously there can then be a debate as to who pays for that.