"American who was insisting that he (the black guy) was African-American"
I wonder what they say about Egyptians living in the US. Would they call them "African-American" or not? Or they would call them "Middle-Eastern" or "Arab"? Or "African" in US means a subset-only of the whole continent?
"Caucasian" is a bad term too, AFAIK it was introduced with other identifiers now regarded derogatory, and from a racist perspective.
Why not "European-Americans" then? Or many US people believe their European ancestry is shameful? That, as previously stated, would also apply to many of Spanish and Portuguese origin.
You can't really use the "geographical origin" of someone - especially from areas like Cuba or South Africa when there are different layers natives and immigrants, sometimes mixed, sometimes not.
While I understand there's a need to describe the main outside characteristic of an individual in some restricted situations (i.e. a missing person, a criminal), US is still too obsessed to assign racial attributes to everyone.