Actually, Pence and Olette recognized him too. That's why they all felt it was the right thing to do to make sure he gets on the train alright.
Also, the reason why they would recognize him is because Ansem used data from real hearts to create his artificial Twilight Town that Roxas lived in. As you can see, when he obtains "data" it's actually him taking a physical object and converting it into computer data.(just like his computer did with Sora, Donald, and Goofy, and like he was attempting to do with Kingdom Hearts.) That means that at least part of Hayner, Pence, and Olette's hearts were in the artificial Twilight Town and were friends with Roxas. And of course, since they knew Roxas, and he's half of Sora, they felt like they recognized him when they met Sora.
There ya go, case closed, Hayner's not a nobody.