This must be some dialect-specific thing, because to me, both of those answers are perfectly acceptable, and they both mean the same thing.
I suppose "have gone" is the one that makes more sense according to the definitions of the verbs. Since "to be" doesn't typically have anything to do with going TO a place, the "proper" method of writing it with A would be "I have been IN London several times".
But once again, neither of these answers sounds weird to my ear. I'd say that, at least within the context of American English, they're both acceptable, with A likely being the colloquial (and therefore "wrong") choice.