The definition of an initial object in a category $\mathscr{C}$ is defined as an object that only has one map going to each object in $\mathscr{C}$. A basic result supposedly says that any two initial objects in $\mathscr{C}$ are isomorphism.
The proof of this, I would imagine, goes something along the lines of, let $A,B\in\mathscr{C}$, then we have a unique map $f_{AB}:A\to B$ and $f_{BA}:B\to A$; since there $f_{AA}:A\to A$ and $f_{BB}:B\to B$ are unique, we get that $f_{AB}\circ f_{BA}=f_{AA}$ and $f_{BA}\circ f_{AB}=f_{BB}$. If $f_{AA}=\operatorname{Id}_A$ and $f_{BB}=\operatorname{Id}_B$ then we would be done, very good.
However, I fail to see why this should hold. After all, the uniquness of $f_{AA}$ and $f_{BB}$ only says that they must be idempotent, i.e. $f_{AA}\circ f_{AA}=f_{AA}$, and similarly for $f_{BB}$. Obviously the identity map satisfies idempotency, but so do many other maps, for example a constant map (of course for objects with structure, eg. a group or a ring there is only one constant map). So in my head at least I can very easily imagine such a category in which this is the case.
Please explain why I am wrong.
Because the identity arrow always exists from the definition of a category, the morphism from an initial object to itself must be the identity.