This is what's stated in the English Style Guide issued by the European Commission Directorate-General for Translation
1.52 Prefixes are usually hyphenated in recent or ad hoc coinages:
anti-smoking campaign, co-responsibility levies, co-sponsor, ex-army, nonresident, non-flammable, pre-school, quasi-autonomous
If they are of Latin or Greek origin, however, they tend to drop the hyphen as they become established:
antibody, codetermination, codecision, cofinancing, cooperation, subcommittee, subparagraph
Others are more resistant to losing the hyphen:
end-user, end-phase, end-product, (I've never ever seen these hyphenated:-)) all-embracing, all-metal, off-market operations, off-duty
but note
endgame, nonsense, overalls
I recall one of my teachers also telling us that new words were often hyphenated, but dropped the hyphen once they had become established.
edit: Here's the link:
http://ec.europa.eu/translation/writing/style...