Can several run of a semi-honest protocol be used to infer malicious security?
Detection of malicious behavior can happen anywhere. However, it is not true that you can run semi-honest protocols and then check later. This is because such protocols can reveal the honest party's input when interacting with a malicious adversary. In such as case, even if you detect the cheating, security is not achieved. Thus, you need to make sure that no cheating happens that can break privacy; for correctness, it suffices to detect at the end. (There is a model called covert for which privacy can be breached as long as detection happens with good probability.)