А если я человека вижу раз в год? Могу и забыть. А он не отзовётся))
Если человека видишь раз в год, то это не близкий человек, соответственно обратиться к нему полным именем. Вряд ли Маргариту, которую видит кто-то по работе раз в год, будет называть: Марго!
Для меня все эти Анчик, Марго, Танюшка и т.д. - это уже фамильярности, для близких родственников и друзей. А уж близкие запомнят, если ты не хочешь, чтобы тебя Марго называли.
По поводу Софьи и Софии, простите, но это неуважение - не запомнить, как человек представился. В таком случае этикет нам говорит: извиниться и переспросить.Это не смертельно.