I had been wondering for years why we hear ～いただきましてありがとうございます more often than ～くださいましてありがとうございます, but now I can make up a plausible explanation, inspired by Boaz’s comment on the question. This is very incomplete, but let me post it as an answer because I hope that it explains a small part of the question.
As a background, as explained in the answers to this question, いただく is to receive and くださる is to give. So the grammatical subject of the first part of the sentence
is the speaker (who “received” the favor), while the grammatical subject of the first part of the sentence
is the listener (who “gave” the favor). Both describe the same fact and the only difference is perspective. I do not think that there is any difference in meaning between the two sentences in each pair, and we can use both sentences no matter whether the favor was offered voluntarily or as a result of asking.
Now why do we hear ～いただきまして more often than ～くださいまして? I do not have a reference at hand, but as I wrote in the answer to the other question, one of the ways to express the politeness in Japanese is by avoiding using the person to be respected as the grammatical subject. This is probably why we hear ～いただきましてありがとうございます more often than ～くださいましてありがとうございます.
Because ～くださいまして is more direct in the sense that it uses the listener as a subject, there might be cases where the sentence using ～くださいまして has a nuance of the favor offered voluntarily, but I cannot get a grip on this. Even if this nuance exists, it is understandable that ～いただきまして is used more often simply because ～いただきまして is more polite.
I have no idea which of ご来店いただいたお客様 and ご来店くださったお客様 is used more often, and if the latter is more common, I do not know the reason for that.