Something went wrong when you were writinig down $M_\xi$. Note that the coordinates of the image of the $i$-th basis vector $e_i$ form the $i$-th column of $M$. As, for example
$$ [\xi, e_1] = ce_2 - be_3 $$
the first column should read $(0, c, -b)^t$, altogether we have
$$ M = \begin{pmatrix} 0 & -c & b\\
c & 0 & -a\\
-b & a & 0
\end{pmatrix}
$$ which looks very skew-symmetric to me.
To avoid extended discussion in the comments I wanted to put a more full answer. I'll try to pull in a few points on other questions you have asked as well so it's all in one place. In short, yes.
First things first, there are a lot of brackets and commutators flying around so we have to be careful what we're doing.
A Lie algebra representation is a Lie algebra homomorphism $\rho:\mathfrak{g}\to \mathrm{End}(V)$ where $V$ is some vector space. The homomorphism part means that $\rho([X,Y]) = [\rho(X),\rho(Y)]$ where the bracket on the left is whatever bracket we have defined on $\mathfrak{g}$ and the one on the right is the canonical bracket given by the commutator on $\mathrm{End}(V)$. Picking a basis of $V$ allows one to write $\rho(X)$ as a $n\times n $ matrix ($n = \dim V$). If $\rho$ is faithful (aka injective) this is unique for each $X \in \mathfrak{g}$ so we can identify $\mathfrak{g}$ as a subset (indeed Lie subalgebra) of $\mathrm{End}(V)$. As I have said elsewhere, the homomorphism part of the definition of a representation guarantees that the set of matrices have the same Lie bracket relations as $\mathfrak{g}$ does.
There is a special representation where $V = \mathfrak{g}$ called the adjoint representation $ \mathrm{ad}:\mathfrak{g}\to\mathrm{End}(\mathfrak{g})$. Which is defined as follows: $\mathrm{ad}(X)$ is the linear map on $\mathfrak{g}$ with $\mathrm{ad}(X)(Y) = [X,Y]$. It is easy to see that this is a homomorphism i.e. that $\mathrm{ad}([X,Y]) = [\mathrm{ad}(X), \mathrm{ad}(Y)]$. Indeed this is just the Jacobi identity rearranged. For a semisimple Lie algebra, the adjoint representation is faithful and so we can represent the Lie algebra by matrices in this case. Note now we are representing elements of $\mathfrak{g}$ both as $\dim\mathfrak{g}\times\dim\mathfrak{g}$ matrices and as $\dim\mathfrak{g} \times 1$ vectors simultaneously. So we have our original element $X$, its adjoint image $T_X = ad(X)$ viewed as a big matrix and it viewed as a vector $v_X$ to make that big matrix make sense. Then $[X,Y] = T_X*v_Y$ under the appropriate identifications.
Tying this to the Lie group story, the Adjoint group is defined as the image under the Adjoint representation of any Lie group with Lie algebra $\mathfrak{g}$. Thus it is automatically linear (i.e. a matrix group) as a subgroup of $GL(\mathfrak{g})$. Then you can generate the the Adjoint action using your chosen basis of $\mathfrak{g}$ viewed as $\dim\mathfrak{g} \times \dim\mathfrak{g}$ matrices if you so desire.
More generally, this works any time there is a valid Lie group representation. Note a Lie algebra representation of $\mathfrak{g}$ doesn't imply that a specific corresponding Lie group $G$ has a valid representation. The adjoint representation is special in that every Lie group has an Adjoint representation. For other representations of $\mathfrak{g}$ not all Lie groups with Lie algebra $\mathfrak{g}$ also have a representation there. E.g. the special orthogonal group has no spin representations and the adjoint group often doesn't act on the original "vector" representations.
Best Answer
A representation for a Lie algebra $\mathfrak{g}$ is a Lie algebra homomorphism $\varphi:\mathfrak{g} \to \mathfrak{gl}(V)$ for some vector space $V$.
Of course, every representation corresponds to a module action. In the case of this representation the module action would be $g \cdot v = \varphi(g)(v)$.
It is not clear what you mean by "basis for the representation". Do you mean a basis for the linear transformations $\varphi(g)$? That would be a basis for $\varphi(\mathfrak{g})$ (the image of $\mathfrak{g}$ in $\mathfrak{gl}(V)$). Or do you mean a basis for the module $V$?
The adjoint representation is the map $\mathrm{ad}:\mathfrak{g} \to \mathfrak{gl}(\mathfrak{g})$ defined by $\mathrm{ad}(g)=[g,\cdot]$. In the case that $\mathfrak{g}=\mathfrak{sl}_2$, $\mathfrak{g}$ has a trivial center so $\mathrm{ad}$ is injective. Thus a basis for $\mathfrak{g}$ maps directly to a basis for $\mathrm{ad}(\mathfrak{g})$.
Therefore, if by "basis for the representation" you mean a basis for the space of linear transformations $\mathrm{ad}(\mathfrak{sl}_2)$, then "Yes" $\mathrm{ad}_e, \mathrm{ad}_f,$ and $\mathrm{ad}_h$ form a basis for this space.
On the other hand, if you mean "basis for the module" then $e,f,$ and $h$ themselves form a basis for $V=\mathfrak{sl}_2$.
By the way, if you are looking for matrix representations for $ad_e,ad_f,ad_h$ relative to the basis $e,f,h$. Simply compute commutators: $[e,e]=0$, $[e,f]=h$, $[e,h]=-2e$. Thus the coordinate matrix of $ad_e$ is $$\begin{bmatrix} 0 & 0 & -2 \\ 0 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}$$