Regra não há, mas o prefixo hemi-, por ser grego, é considerado mais culto, embora sinónimo absoluto de semi-, que é latino. Ambos têm a mesma origem indo-europeia, incluindo o mesmo étimo. No meu entender, deve-se preferir o primeiro quando o segundo elemento da palavra também for grego, a fim de se evitarem hibridismos. Por idêntica razão, semi- é mais aconselhável quando a 2.ª parte da palavra é também latina, ou termo português com esta origem.
Semi- leva hífen quando o 2.º elemento começa por h, i, r ou s (semi-homem, semi-internato, semi-real, semi-selvagem; cf. Rebelo Gonçalves, Tratado de Ortografia da Língua Portuguesa, 1947, p. 220/221). Em princípio devia suceder outro tanto com hemi-, mas não conheço nenhum termo assim iniciado e cujo 2.º elemento apresenta h, i, r ou s iniciais.