I think that you should ALWAYS thank anyone who has taken time to help you. Not just the 'Best Answers'. This is common courtesy.
Look at it this way. In a face-to-face exchange - where you ask a stranger for help at school, at work, in the street - would you accept their help and then walk away without any acknowledgement? Of course you wouldn't.
So why should it be any different online? This isn't Google Translate! There are no robots here. Answers don't appear out of thin air. Every time you ask a question, there is a human being, somewhere in the world, who has taken time out of their day to help you. It's not our job and we don't get paid for this: we do it because it's good to help others.
In many cases, it has taken us longer to answer your question that it took you to write it. Those of us who take it seriously will also put time and effort into checking facts, thinking up helpful examples and posting relevant links. So, do you really think it's OK to then totally ignore that person? Not even acknowledge their existence? I don't. In my opinion, this is rudeness in the extreme.
I've answered many thousands of questions on italki over the years, but I have a rule: I don't help those members who never have the common courtesy to acknowledge people's answers. If I come across an OP whose posts are full of helpful answers with 0 comments beneath them - no response, no acknowledgement - I won't answer their questions. I'll gladly help anyone who needs it, but I'm not prepared to waste my time on rude and ungrateful people. This is my view. Others may disagree.