Plot hole: Bond makes a huge tactical error after diving to the St. Georges. He knows the Russians and their operatives are after the ATAC. The ATAC itself is expendable to Britain, since it has a self-destruct mechanism that under proper procedure would have been set off when the ship sank. So why is Bond trying to retrieve it? Because he disarms the self-destruct, he actually allows Kristatos to get his hands on it, forcing Bond to track it down again and, to stop the Russians from getting it, HE DESTROYS IT! So why doesn't Bond, instead of disarming the self destruct, set a timed charge or toss a grenade in the room to destroy the ATAC while its at the bottom of the sea? The answer is, of course, that if Bond destroys the ATAC before the bad guys can get at it, the movie's over. Even so, at the end, when Bond finally does destroy the ATAC, he tells Gogol it's "detente. You don't have it. I don't have it." Clever line, but it reinforces the fact that the British don't need it. They can build another one.
Plot hole: As we first see the St Georges, a marine officer in uniform is seen smoking on deck. On the other hand, we have camouflaged doors, fishing going on, everything consistent with a completely secretive operation. It is not very consistent, nor does it make much sense to put that much effort into hiding the true nature of the ship and then go gallivanting across deck in a navy uniform.
Character mistake: In the ice-hockey scene Bibi says: "They say that he is a defector from East Germany." That fits very poorly with the statement during the biathlon scene, where he is referred to as "The East German Champion".