I am trying to prove that whenever there is an injective morphism of presheaves $\mathcal{F} \rightarrow \mathcal{G}$, the morphism induced on the sheafifications is still injective; it's basically exercise in Hartshorne. Here is my attempted solution and I'd like someone to check that it makes sense and there are no obvious mistakes. I am especially unsure about bold statements.
Note that a morphism of presheaves $f$ that is injective on open sets $U \subseteq X$ induces an injective morphism on the stalks $f_x:\mathcal{F}_x \rightarrow \mathcal{G}_x$. We know $f$ induces $f_x$ by [omissis]. To prove injectivity, assume we are given two elements of $\mathcal{F}_x$ with the same image in $\mathcal{G}_x$; we can choose for them two representatives $s, t$ of $\mathcal{F}$ on some open neighbourhood of $x$ and without loss of generality we can take the same neighbourhood $U$ for both. Their images are sections of $\mathcal{G}$ that have the same image in $\mathcal{G}_x$, which means that we can find an open subset $V \subseteq U$ such that $f(s) = f(t)$ in $\mathcal{G}(V)$. But then by the injectivity of $f$, $s = t$ in $\mathcal{F}(V)$. Now I claim that $\mathcal{F}_x \cong \mathcal{F}^+_x$. Define a map $\Phi:\mathcal{F}_x\to\mathcal{F}^+_x$ in the following way: for an element $s_x\in\mathcal{F}_x$, we choose a representative $(s,U)$ where $s\in\mathcal{F}(U)$, send it to the family $(s_p)_{p\in U}\in\mathcal{F}^+(U)$ and take the equivalence class of $(s_p)_{p\in U}$ in $\mathcal{F}^+_x$. I claim that this map is a bijection. [omissis]
As a consequence of this fact, we can define an injective morphism $f^+_x:\mathcal{F}^+_x \rightarrow \mathcal{G}^+_x$ as $\Phi^{-1} \circ f_x$. Note that this is the map induced on the stalks by the unique morphism $f^+:\mathcal{F}^+ \rightarrow \mathcal{G}^+$ arising from the universal property of sheafification. All that's left to prove is that it implies the injectivity $f^{+}:\mathcal{F} \rightarrow \mathcal{G}$. Let $s \in \mathcal{F}^+(U)$ and suppose $f^+(U)(s) = 0$. Then clearly $f_x(s_x)=0$, where $s_x=[(U,s)] \in \mathcal{F}^+_x$, $x$ arbitrary. Since $f^+_x$ is injective, there exists an open set $V_x \subset U$ such that $s|_{V_x} = 0$. $\{V_x \}_{x \in U}$ is clearly an open cover of $U$ and since $\mathcal{F^+}$ is a sheaf we can conclude $s = 0$, hence $f^+(U)$ is injective for every $U$.
Your strategy seems to be the following:
1) If $f : F \to G$ is an injective morphism of presheaves, then $f_x$ is injective for every $x \in X$. Your proof seems to be fine to me.
2) The morphism $\Phi^F : F \to F^+$ is such that $(\Phi^F)_x$ is bijective for every $x \in X$. Here you denoted $(\Phi^F)_x$ just by $\Phi$, but it is important to notice that this is actually the morphism induced on stalks by a presheaf morphism, which I called $\Phi^F$. This is the reason why your statement in bold makes sense. (In general, an arbitrary family of maps $F_x \to G_x$ doesn't come from a morphism of presheaves $F \to G$).
The proof of bijectivity of $\Phi^F_x$ is written here.
3) We have a commutative diagram $$\require{AMScd} \begin{CD} F @>{f}>> G\\ @V{\Phi^F}VV @VV{\Phi^G}V\\ F^+ @>>{f^+}> G^+ \end{CD}$$ From 1) and 2), we see that $f^+_x$ is injective for all $x \in X$. By exercise III.1.2b) in Hartshorne, this implies that the sheaf morphism $f^+$ is injective. You actually proved this at the end of your question, which is great ! :-) You should just replace the "$x$ arbitrary" by $x \in U$, but this is not a major issue. Moreover, writing $f^+_x(s_x)=0$ only makes sense if you have presheaves of abelian groups. For presheaves of sets, you need to write somthing like $f^+_x(s_x) = f^+_x(t_x)$, where $t \in F^+(U)$.