MagicJack can't determain which call is local or long distance. Your local phone carrier determins it. The message in MagicJack website is misleading. But I learnt long ago before I use MagicJack that always check your local carrier before you call someone within the same area code. To make things worse, in some cases it is not charged as long distance, but reginal call, which is more expensive than long distance.
Before I choose my MJ number, I checked with Verizon to make sure the number I choose is local for me. My MJ number is actually in a different area code from my home number, but VZ tells me it is local. And it is.