You have to be a little bit careful. The statement
If $A$ and $B$ are regular languages, then $A^*B$ is the solution of $X = AX + B$
is actually incorrect, since the equation $X = AX + B$ may have several solutions if the empty word belongs to $A$. The correct statements are
(1) If $A$ does not contain the empty word, then $X=A^*B$ is the unique solution of the equation $X = AX + B$.
and
(2) If $A$ contains the empty word, the solutions of the equation $X = AX + B$
are the languages of the form $A^*C$ with $B \subseteq C$.
If you prefer a unified version, you could use the following:
(3) The language $A^*B$ is the minimal solution of the equation $X = AX + B$.
Proof of (3). As Brian Scott explained in his answer, distributivity is the main ingredient to verify that $A^*B$ is a solution of $X = AX + B$. Denoting the empty word by $1$, one gets
$$
A(A^*B)+B = A^+B + B = (A^+ + 1)B = A^*B
$$
You can prove that $A^*B$ is the minimal solution as follows. Let $X$ be a solution of the equation $X = AX + B$. Then $B \subseteq X$ and $AX \subseteq X$. Consequently, $A^2X \subseteq AX \subseteq X$ and by induction, $A^nX \subseteq X$ for all $n$. It follows that $A^*X = \sum_{n \geq 0}A^nK \subseteq X$ and finally $A^*B \subseteq A^*X \subseteq X$.