BA shorted my refund on a cash fare recently as well. Cancelled within 24 hours (USA departure) and they refunded only 90% … agents said it can take a few months for refund which makes no sense since refund was made but just not in right amount. Maybe it’s the new BA way to catch unsuspecting customers and make a tiny bit more profit.