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.