I'm having trouble following your logic, but yes, you've made some mistakes (a correlation cannot exceed one in absolute value, for example).  $\text{E}(X_1)$ is easy enough to find so let's start by calculating $\text{E}(X_2)$.  The key is to condition on $X_1$ and then calculate the expectation in pieces.

\begin{align}
\text{E}(X_2) &= \text{E} [ \text{E} (X_2 \mid X_1) ] \\
&= P(X_1 = 1) \text{E} (X_2 \mid X_1 = 1) + P(X_1 = 0) \text{E}(X_2 \mid X_1 = 0) \\
&= \frac{1}{4} \cdot \frac{1 + c}{4 + c} + \frac{3}{4} \cdot \frac{1}{4 + c} \\
&= \frac{4 + c}{4 (4 + c)} \\
&= \frac{1}{4} .
\end{align}

This is interesting as it says that on average $X_2$ behaves just like $X_1$.  Now since these are Bernoulli random variables with the same expectation the variances are easy:

\begin{align}
\text{Var}(X_i) &=  \text{E}(X_i^2) - \text{E}(X_i)^2 \\
&= \frac{1}{4} - \frac{1}{16} \\
&= \frac{3}{16} .
\end{align}

The only thing left to calculate is the covariance and we can use the identity $\text{Cov}(X_1, X_2) = \text{E}(X_1 X_2) - \text{E}(X_1) \text{E}(X_2)$.  We already know the rightmost term so for the other we have

\begin{align}
\text{E}(X_2 X_2) &= P(X_1 = 1 \cap X_2 = 1) \\
&= P(X_1 = 1) P(X_2 = 1 \mid X_1 = 1) \\
&= \frac{1 + c}{4 (4 + c)}
\end{align}

yielding

\begin{align}
\text{Cov}(X_1, X_2) &= \frac{1 + c}{4 (4 + c)} - \frac{1}{16} \\
&= \frac{3c}{16 (4 + c)} .
\end{align}

If we now divide by this $\sqrt{\text{Var}(X_1) \text{Var}(X_2)}$ we get

\begin{align}
\text{Corr}(X_1, X_2) &= \frac{c}{4 + c} .
\end{align}

This makes sense since as $c \to \infty$ we have $X_1 = X_2$ with high probability so the correlation should approach one.