Where's my experimental error coming from?
I would go with a full fledged error propagation analysis on this one, because without systematic approach you might be guessing forever. So if I look at the calculation process you have the following equation to get from known quantities to the answer:

$$X=\left(\frac{W_0}{W_e}-1\right)\left(\frac{M_{CuSO_4}}{M_{H_2O}}\right) \tag{1}$$

where $W_0$ is the start weight, $W_e$ the end weight and $M_i$ is the respective molecular mass. $X$ is the desired answer.

To find the expected error in the answer, $\Delta X$, assuming no error in the molecular masses, we calculate:
$$\Delta X=\sqrt{\left(\frac{\partial X}{\partial W_0}\Delta W_0\right)^2+\left(\frac{\partial X}{\partial W_e}\Delta W_e\right)^2} \tag{2}$$
which works out to:
$$\Delta X=\frac{\sqrt{(\Delta W_0)^2 W_e^2+(\Delta W_e)^2 W_0^2}}{W_e^2}\left(\frac{M_{CuSO_4}}{M_{H_2O}}\right)  \tag{3}$$

So now the final thing left to do is estimate how big $\Delta W_0$ and $\Delta W_e$ are. For $\Delta W_0$ I think it is safe to say that this is only the inaccuracy of the scale, so perhaps $0.01$ g. For $\Delta W_e$ I would go for the worst case scenario: that all of the 0.6% impurity in the original copper sulfate has evaporated, meaning that the weight will be off by 0.6% times $W_0$ i.e. $0.08$ g.

Now plugging in the numbers in Eq.$(3)$ I find $\Delta X=0.14$ mol water per mol copper sulphate. Which is very close to the actual error you find. 

This error is almost completely determined by the error in $W_e$. If, like @brinnb suggests, an additional reduction in $W_e$ could be expected due to adhered water say that the error in $W_e$ is $0.1$ g you already get to $\Delta X=0.17$ mol water per mol copper sulphate.

Conclusion

The error you find falls within the worst-case expected error due to impurity and potentially adhered water.