Multicollinearity in Transformed model: GLS
For every $k \times 1$ vector $\mathbf c\neq \mathbf 0$, we have that $\mathbf X \mathbf c \neq \mathbf 0$.
Choose $\mathbf e_i$ to be a standard basis $k \times 1$ vector having $1$ in the $i$-th position, and $0$ everywhere else. $\mathbf X\mathbf e_i \neq \mathbf 0$ is a $n \times 1$ vector, and equal to the $i$-th column of $\mathbf X$.
So in block matrix notation we have that 

$$\mathbf X = \left[ \begin{matrix} \mathbf X\mathbf e_1\;\; ...\;\;\mathbf X\mathbf e_k\end{matrix}\right] $$

Note that the set of vectors $\mathbf X\mathbf e_i$ also form a basis.
Now,

$$\mathbf C \mathbf X =\left[ \begin{matrix} \mathbf C\mathbf X\mathbf e_1\;\; ...\;\;\mathbf C\mathbf X\mathbf e_k\end{matrix}\right]$$

Since $\mathbf C$ is non-singular (and so of full column rank), and $n \times n$,it follows that the $n \times 1$ vectors $\mathbf C(\mathbf X \mathbf e_i) \neq \mathbf 0$. Moreover they are linearly independent by virtue of the full set of basis vectors used. So $\mathbf CX$ is of full column rank.