Exactly what I think happened for exactly that reason.
There is a minor problem with your Citizen conclusion with respect to McCain--the statute under which that would have made him a citizen on that theory was adopted three years after his birth and was not retroactive by its terms. He may have gotten there by other methods.
McCain votes like a Liberal--how he got there is not completely clear. And at present, he is obviously running well to the right of his voting record.
You clearly didn't read the statute:
Sec. 303. [8 U.S.C. 1403] Persons born in the Canal Zone or the Republic of Panama on or after February 26, 1904
(b) Any person born in the Republic of Panama on or after February 26, 1904, and whether before or after the effective date of this Act, whose father or mother or both at the time of the birth of such person was or is a citizen of the United States employed by the Government of the United States or by the Panama Railroad Company, or its successor in title, is declared to be a citizen of the United States.
On or after February 26, 1904.
And that statute is a statute, not a theory.