medic,
I disagree. A person emigrates from Mexico, and immigrates to the US.
Immigrate is "came or went to."
Emigrate is "came or went from."
The came or went part is merely a reflection of the location of the speaker and has nothing to do with the action performed.
So in my opinion, both of your examples are correct, including the one you give as incorrect. A person emigrates from Mexico (to the US) at the same time as he immigrates to the US (from Mexico).
Also, I think come and go have ambiguous meaning because of their particular use in English. ("Went from" is awkward, even though accurate.) Maybe the use of "leave" and "arrive" would suit:
He left Mexico (emigrated from) and arrived in (immigrated to) the US.
-------------------------------------
It is better to have honor than a good reputation.
(Reputation is what other people think about you. Honor is what you know about yourself.)