Is the complement of a semidecidable (r.e.) language always a semidecidable (r.e.) language?
No. A language $L$ and its complement $\bar L$ are semi-decidable if and only if $L$ is decidable (see here).

For example, the language containing all programs that terminate is semi-decidable, as you can run any program to see if it halts.
Its complement on the other hand is not semi decidable, as you cannot have a routine that determines, if a program will run forever or not.