I've just been reading an article called 'The Case of the False Identity' in Inside History Jul-Aug 2013, which opened a whole new possibility for why George Cockram changed his name to Thomas Smith.
The article relates two incidents in the 1880s where emigrants from Scotland to Australia sailed under false names simply because when they went to a shipping agent shortly before the ship was leaving, they were given tickets that had been made out for someone else, who had not shown up to claim them. In both cases, it was just simpler and quicker for the agent to suggest that the passengers sail under false names than to write them proper tickets.
That sort of thing likely happened on many occasions, and perhaps that's what happened to George. But if so, why did he keep the false name for the rest of his life? Perhaps he felt that because he was making a new start when he emigrated to Canada, he might as well keep the new name too. Possible, but is it likely? I don't know, but it's interesting to have a whole new theory to think about.