Interesting question. I think the answer is yes, let me try to prove it.
As you noticed, the ideal sheaf sequence shows that $h^1(D)=0$ is equivalent to the fact that $H^0({\mathcal O}_D)$ is 1-dimensional generated by the constant function $1$.
Considering, for every effective decomposition $D=A+B$, the exact sequence
$$
0 \rightarrow {\mathcal O}_B(-A) \rightarrow {\mathcal O}_D \rightarrow {\mathcal O}_A \rightarrow 0
$$
we deduce then that $H^0({\mathcal O}_D \rightarrow {\mathcal O}_A)$ is injective and therefore, since by Riemann-Roch $B$ has arithmetic genus $1+\frac{B^2}2$,
$$0=h^0({\mathcal O}_B(-A))\geq \chi({\mathcal O}_B(-A))=-AB-\frac{B^2}{2}$$
so $B^2 \geq -2AB$ and similarly $A^2\geq -2AB$.
Assume by contradiction $AB\leq 0$: then $A^2B^2 -(AB)^2 \geq 3(AB)^2 \geq 0$. This implies, by the index theorem, that $AB=0$ and $A$ and $B$ are proportional.
Let us then choose a primitive $C \in Pic(X)$ such that $A=aC$, $B=bC$; obviously $C^2=0$ and by Riemann-Roch $\chi(A)=\chi(B)=\chi(C)=\chi(D)=2$. Up to replacing $C$ by $-C$, $C$ is effective, $a$ and $b$ are positive and $h^2(A)=h^2(B)=h^2(C)=h^2(D)=0$.
Then $h^0(C) \geq 2$, so $D=(a+b)C \geq 2C \Rightarrow h^0(D) \geq 3 \Rightarrow h^1(D) \neq 0$, a contradiction.