According to wikipedia (constant sheaf) the constant sheaf $\underline{S}$ for an object $S$ is given by defining $\underline{S}(U)$ to be the set of functions $U \to S$, which are constant on each connected component of $U$. I believe this is only true if $S$ is trivial (terminal object) or the space $X$ is locally connected. For example if $X$ is totally disconnected, then $\underline{S}(U)$ consists of all functions $U \to S$, and the canonical map $\underline{S}$ $_x \to S$ won't be injective. I think that we have to define $\underline{S}(U)$ to be the set of locally constant functions $U \to S$. That is, continuous functions $U \to S$, where $S$ is endowed with the discrete topology. Since continuity is a local condition, this is a sheaf and it can be checked that the stalks are all $S$. This is the constant sheaf. Remark that locally constant functions are constant on each connected component, but the converse is not true. Interesting, in the wikipedia article about sheaves you can find the right definition.
Am I right or did I miss something?