For Snow to not know it’s James would feel like a huge punch in the face to Snowing. And they’ve already suffered enough. I’m more than happy to have James in the real world and for Josh to ham it up as the other brother for awhile, but not with “omg! the wrong twin came back!” story.
There is no way that James could make Snow believe he was David. He just has a completely different personality. She would have to think he was on drugs or something for David to act like James.