Although both terms are generally acceptable, it has been my observation that those who use the term "native american" to describe the original inhabitants of North America are more prone to correct those who don't than are those who use the term "american indian" or simply "indian." Although little to no justifications are given, I suppose a few are implicit. Namely, that the term "Indian" could refer to either the original inhabititants of North America or to the current inhabitants of India. Similarily, the term "American Indian" could refer to "Americans" which are descended from the original inhabitants of North America or the current inhabitants of India. The former would be somewhat similar to the term "African Americans", which refers to those who are only a few generations removed from Africa.
However, the term "Native American" isn't without ambiguity, either - it could, now, refer to someone who is a descendant of the original inhabitants of North America or "natural born Citizen" (as the US Constitution refers to them as in Article II, Section 1, Clause 5) just as a "native german" would be someone was born a German citizen (I can delve into more detail, but I think that would detract from the point of this post). This understanding of the term, in fact, became extremely popular in the postbellum era, where it become associated with nativism. The fact that the Know-Nothing party (a name coined for them by outsiders, as evidenced by this) refered to themselves as the Native American Party (ref) shortly before their demise may have contributed to the wide-spread acceptance of this term.
Also, as the publisher and editor of The Navajo Times states here, "the use of American Indian and Native American are both basically correct, as Native people use both."
