Biannual and semiannual both mean twice a year and seem to have been synonyms for their entire lives in the English language (see bi- or semi- for the standard distinctions between the two prefixes); biennial means once every two years. Why bi- means half in biannual I do not know, but it is moot to pretend otherwise. If you wish to maintain the strict rigidity of the bi- and semi- prefixes, I suggest using only semiannual and biennial in your writing.