Control in the physical military sense is not the same as legislative jurisdiction. See: http://en.wikipedia.org/wiki/Johnson_v._Eisentrager. E.g. the U.S. may have had control of occupied Baghdad, but that doesn't mean Congress had legislative jurisdiction over Baghdad.
Now, the Supreme Court has decided that Congress has de facto legislative jurisdiction over Guantanamo (in an opinion comparing the historical treatment of Scotland, in which English habeas rights did not apply, to Ireland, in which they did): http://en.wikipedia.org/wiki/Boumediene_v._Bush.
Scalia's dissent was the most legally sensible: 'Justice Scalia added that the Court's majority "admits that it cannot determine whether the writ historically extended to aliens held abroad, and it concedes (necessarily) that Guantanamo Bay lies outside the sovereign territory of the United States."[27] Justice Scalia pointed out that Johnson v. Eisentrager (where the Supreme Court decided that U.S. courts had no jurisdiction over German war criminals held in a U.S.-administered German prison in China) "thus held—held beyond any doubt—that the Constitution does not ensure habeas for aliens held by the United States in areas over which our Government is not sovereign.'
But the Court stopped short of saying that foreigners in Guantanamo have the same habeas rights as U.S. citizens on U.S. soil, probably because of the strained nature of their conclusion that they had any habeas rights at all.