Why the difference? Why a hyphen in one and not the other?
“Cross-examination” comes from the verb “to cross-examine,” which has a hyphen because “cross” is a prefix. Since noun forms are often derived from the verb form, “cross-examination” has a hyphen.
Since there is no such thing as “to direct examine,” there is no verb form to lead the way; thus there is no hyphen in “direct examination.”