As a corollary of the Hahn-Banach theorem, we proved that if $M$ is a closed subspace of a normed linear space $X$, $0\neq x_0\notin M$, then $\exists f \in X^*$ such that $f(x_0)\neq 0$ and $f(y)=0$ $\forall y\in M$.
This looked like overkill to me and I tried to give an alternative proof. I may be wrong: so, we can extend $x_0$ to a Hamel basis of $X$, then define $f(x_0)=1,$ zero on the other basis elements and extend linearly, this basically gives $f(\alpha x_0)=\alpha$ on $\text{span}\{x_0\}$ and zero elsewhere. This should give us a bounded linear functional on $X$. Is this correct? Please point out if I am wrong.
I think you will run into a problem with $f$ being continuous. In case you have a sequence of linear combinations of Hamel basis which do not have $x_0$ as summand but converge to $x_0$ then the limit of the $f$ values of these linear combinations will be zero and not one.
Addendum: As an example that a functional constructed using a Hamel Basis for its definition and which is not continuous, let us consider an infinite dimensional Banach space $X$ having a Hamel Basis $\mathbb{H}$. Let us consider the family of projections $\pi_h:X\to\mathbb{R}$ where $h\in \mathbb{H}$. For fixed $h_0$ these are defined for any $x$ which will be represented as unique finite sum $x=\sum_{h\in\mathbb{H}}\alpha_hh$ with appropriate $\alpha_h\in\mathbb{R}$ as $\pi_{h_0}(x)= \alpha_{h_0}$. Then there is at least one $\pi_{h}$ which is not continous.
You can see that by taking a countable subset of $\mathbb{H}$, say $h_0, h_1,... $ and consider $$x=\sum_{k=0}^\infty \frac{h_k}{2^k||h_k||}$$ By construction $x$ is not a finite linear combination of the $\{h_k\}$. So for all $k\in\mathbb{N}$ we have $\pi_{h_k}(x)=0$. On the other hand, if all $\pi_{h_k}$ would be continuous then we would have for all $k\in\mathbb{N}$ : $\pi_{h_k}(x)=\frac{1}{2^k||h_k||} >0$, which is a contradiction. So at least one projection will be discontinuous.