Yes, he probably should have, but there were certain cultural infuences on the situation as well. Even if the captain had been wrong, the FO would not have said much, and even if he did the captain would have ignored him, because he was the captain. It is the whole senior/junior idea (and in KAL the whole military vs civilian) that seems to permeate Korean culture (I'm not an expert, I just work with them!). This puts a huge damper on crew communication and resource management. Also, this is why after the crash, a program was put into place at KE
to hire ex-pat. pilots and to increase the number of civilian trained pilots and to start working the older military minded pilots out. So even if the FO had noticed that the ADI was wrong (which from what I gather he did and the FE
as well) the Captain would have overidden them and their concerns, as he was the most senior man on-board and in control. Unfortunately we all know what happened.
(note: I'm not making any judgements, just relaying observations)