Years ago, I traded frequently. It was pretty standard that when the trade was agreed upon, each trader immediately boxed for shipping or ordered what they were sending. Trades rarely took longer than a few days to complete.
As I understand this trade, one trader sent his end, and may get his end three weeks later. I do not think this is acceptable; nor is the excuse acceptable. Had there been communication between the parties during the interim and an acceptance of the time frame, then it's a totally different situation. The "Why didn't you call me?" statement rings hollow. If you cannot complete a deal in a timely fashion, the onus is on you to notify the person with whom you are trading, that you have a problem completing the trade. They should not have to email you repeatedly or call you.
This kind of situation is happening on all the cigar boards too frequently to suit me. As a result, I rarely trade with anyone that hasn't had a long time presence on the respective board/forum.