I don't know WHY this is happening, but I'm convinced I know WHAT is happening.
The graying character sitting with Jacob in the beginning (far in the past, played by Titus Welliver of Deadwood fame) can somehow not only travel in time (like Jacob can) but also can make people think he is someone else, but only dead people.
He not only appeared as the dead Locke, but has been appearing as other dead people -- Christian, Charlie, Libby. His goal has been to find a way to kill Jacob all along (for what reason, we will find out in season 6), and he has been traveling around in time and taking on the appearance of dead people in order to try to get Jacob killed.
It does seem as if the loophole was to find someone willing to kill Jacob. So until now he had been appearing as the wrong dead person, and appearing to the wrong living people. He got closer by appearing to Ben as Alex, but that wasn't quite enough. As Alex, he told Ben to listen to Locke ... and then appeared to Ben as Locke too, in order to tell him to kill Jacob.