The free monoid functor is fully faithful?
To refute fullness, let $X$ be a one-element set and observe that the free monoid on it (which is isomorphic to $\mathbb N$ with the operation +) has lots of monoid-endomorphisms while $X$ has only one set-endomorphism. (Any other nonempty $X$ also gives a counterexample to fullness, but this one seems the simplest.)
To show that $i_A$ is always injective, you just need to check that, given any two distinct elements of $A$, they have distinct images under some set-map into the underlying set of a monoid. Then factor that map through $i_A$ to see that those two elements have distinct images under $A$.
You don't have to construct a monoid structure on $A$, in fact in general you cannot. To see that $i_A$ is injective, you can explicitly describe the free monoid on $A$ and see that $i_A$ is indeed injective. Alternatively, let $x \neq y \in A$, consider the monoid $M = \mathbb{N} \times \mathbb{N}$. Let $j : A \to M$ be defined by: $$j(z) = \begin{cases} (1,0) & z = x \\ (0,1) & z = y \\ (0,0) & z \neq x, z \neq y \end{cases}$$
Then there exists a unique monoid morphism $j^* : A^* \to M$ such that $j^* \circ i_A = j$. You have $j(x) \neq j(y) \implies j^*(i_A(x)) \neq j^*(i_A(y)) \implies i_A(x) \neq i_A(y)$. Thus $i_A$ is injective, thus the functor is faithful.
On the other hand the free monoid functor is not full. Consider $A = \{x\}$ a singleton; then $A^* \cong \mathbb{N}$ with generator $1 \leftrightarrow x$. Then the map $x^n \mapsto x^{2n}$ is a morphism $A^* \to A^*$, but it's not the image of a map $A \to A$ under the free monoid functor (there is only one such map).
The flaw in your proof is that $(\operatorname{id}_B)^*$ is a map $B^* \to B^*$, not $B^* \to B$, so you do not get back a map $A \to B$ from $\tilde{f}$. Not that you get a map $\mathsf{Set}(A,B) \to \mathsf{Mon}(A^*, B^*)$ (this isn't what you wrote).
As you asked for a more canonical way for deciding whether $i_A$ is always injective, the following might be of interest to you:
Let $V\colon \mathsf{Mon} \to \mathsf{Set}$ be the forgetful functor (mapping each monoid to its underlying set and each monoid homomorphism to its underlying map of sets). Then the free monoid functor $F$ is left adjoint to $V$ and the collection of the $i_A\colon A \to (V \circ F)(A)$, $A$ a set, is the so called unit of the adjunction, i.e. a natural transformation $$i \colon 1_{\mathsf{Set}} \to V \circ F,$$ whose components have (as you noted) a certain universal property; here, $1_{\mathsf{Set}}$ denotes the identity functor.
Finally, note that the monomorphisms of the category $\mathsf{Set}$ are precisely the injective maps. All that being said, we see that you are asking whether every component of the unit of a certain adjunction is a mono. Now it turns out that there is the following general theorem (this is the dual version of Theorem 1 and Exercise 5 of chapter IV.3 in Mac Lane's Categories for the Working Mathemetician):
(Edit: I've corrected a mistake in the following statement that was pointed out by Stefan Hamcke in the comments. Before the edit, 2. was about split monos instead of just monos. While there is a version of the following statement characterizing when $L$ is full that in fact involves split epis, the statement about $L$ being faithful should now be correct as it stands.)
Let $(L,R)$ be any adjoint pair of functors (i.e. $L$ is left adjoint to $R$) between any categories, say $L\colon \mathsf{C} \to \mathsf{D}$. Then the following are equivalent:
- $L$ is faithful.
- Every component of the unit of the adjunction is a monomorphism.
- Every component of the natural transformation $\hom_{\mathsf{D}}(L-,-) \to \hom_{\mathsf{C}}(-,R-)$ determined by the adjunction preserves monomorphisms.
The trouble is, however, that usually the second statement will be the easiest to prove - meaning that you will more often encounter situations where you prove 2. in order to deduce 1. or 3. (as you just did, in fact) than the other way around. But if you were to find a more "canonical" way of proving 1. or 3. in your situation, you would have proved 2. as well. (Bear in mind, however, that at some point you have to get your hands dirty - after all, not all left adjoints are faithful.)