Mistakes About "Correctness":
The "Capt."/"CAPT" debate started here by accident, and of course the issue itself is of very little importance. But I keep coming back to it, because it's a special case of a broader linguistic-philosophical issue — one I've touched on before as to geographical designations, titles for the Chief Justice of the Supreme Court, and more. It also relates to a broader phenomenon, which has often been discussed here as to language: The common insistence that one particular answer is The Correct Answer, even when there's good reason to think that there are multiple correct answers.
Consider: Which is the correct name for that big country in the middle of Europe — Deutschland, Germany, Allemagne, Niemcy, Saksa, or Vokietija? Well, it all depends on what language you're speaking; there is no one correct answer, though there is generally one correct answer (to this particular question) in each language. Likewise, which is the correct name for the country in which I live — America, the United States, the U.S., the United States of America, or the States? Here there is no one correct answer even in American English, though some usages may be more suitable than others depending on the formality of the context, and some may be clearer than others depending on the context. "Correct" doesn't refer to some Platonic ideal of correctness. It simply means "consistent with the rules of the context in which the term is being used."
Now let's turn for a moment to CAPT. In standard English, words tend to be written either in all-lowercase or with the first letter capitalized, unless they are abbreviations formed from the initials of a phrase (e.g., the FBI). More specifically, abbreviations formed from the first several letters of a word are written that way, with a period indicating that the word is an abbreviation.
Yet despite this, the Navy of the English-speaking United States decided to use a distinctly non-standard-English abbreviation system. Is this "incorrect"? Well, it is certainly inconsistent with the usage practices of standard English, so it would probably be said to be incorrect in standard English. But of course organizations and professions often develop their own jargon. In that jargon, CAPT is now a correct form (and, I'm told, the only correct form in certain contexts, though of course the Navy itself uses "Capt." in other contexts).
The Navy has thus taken advantage of the fact that what is "correct" varies from context to context. Perhaps it shouldn't have taken advantage of this; perhaps it should have stuck with the standards of the broader language that it usually aspires to use. Or perhaps its decision was right, for a variety of reasons. But the important point is that its decision only makes sense once one recognizes that what is "correct" in one language or lingo need not be the sole "correct" usage in another.
Likewise, the Navy's decision to adopt its own style for its jargon doesn't tell us what is "correct" in standard English — just as the standard English practice doesn't tell us what the Navy must use. It's CAPT in Navalese, Capt. in English; it's Deutschland in German, Germany in English; it's lorry in British English, truck in American English.
Now one extra complication, raised by some posts: Might it be the case that "the only correct usage" as a matter of the rules of good manners — even if not of the rules of language — is to follow the rules of the Navy in identifying Naval officers, even in standard English? "Correct," after all, means in this context "consistent with a certain set of rules." Perhaps the rules of manners provide a more definite answer.
But I've seen no evidence that there is such a rule of manners, and no good argument that it should be. It's not bad manners to say Munich in English or Monaco in Italian instead of using (in English or Italian) the original München. It's not bad manners to call Russian astronauts "astronauts" rather than "cosmonauts" (or, if you were really trying to follow the original, "kosmonavty") — and I've always found it pretty affected when Americans say "cosmonaut," though that's an aesthetic judgment and not a correctness judgment. I don't see why it should be bad manners to write Capt. instead of CAPT. If someone wants to make the contrary argument, I'd love to see it in the comments — but the argument should explain why, in the face of the accepted practice that foreign terms are translated into standard English with no breach of bad manners, there should be any manners prohibition on similarly translating jargon.
Note also that the argument that CAPT avoids confusion (given that the Naval "Captain" in rank is very different from the similar rank in other services) doesn't really work. Readers who know that there's a difference between Captain ranks will recognize it without the different capitalization (at least where, as in my post, they are told that the Captain was in the Navy). Readers who don't know about the difference won't get anything out of the different capitalization. Perhaps there are a few people who'll see the CAPT and will be reminded of the difference that they otherwise would have missed; but I expect they are very few indeed. In any case, even if CAPT is slightly more clear, it still doesn't follow that "Capt." is incorrect — at most, "Capt." would then be slightly less clear than it could be, which is a reason to fault the usage but a different reason than "incorrectness."
I expect all this will drive some of our readers to mutter about relativism and The Sorry State Of The Academy Today, but if this is a "relativist" position, then here the relativists are right.
Place names, titles, and words generally are not "correct" or "incorrect" in the abstract. What is correct depends on the context; in many contexts more than one term is correct. And unless you're willing to say an otherwise-English-speaking Navy is incorrect to use the highly non-standard-English "CAPT," you can't reasonably say that standard English users are incorrect for sticking with the good old-fashioned "Capt."