$\mathcal Hom (\mathcal O_X,\omega)\simeq \omega$, but $\omega\otimes \mathcal Hom (\omega, \mathcal O_X)$ is not necessarily reflexive, let alone locally free. However, it is true that 
$$
(\omega\otimes \mathcal Hom (\omega, \mathcal O_X))^{**}\simeq \mathcal O_X.
$$
At least if $X$ is $G_1$, that is, Gorenstein in codimension $1$ and then you don't even need that $X$ is CM, it is enough if it is $S_2$.