$\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$.