PS: After the comment I'm feeling in doubt of what I've done. Please correct me if I'm wrong.
UPD: I think this part d[i] <- d[i-1] - theta*(e[i-1] + e[i]) should be this d[i] <- d[i-1] - theta*e[i-1] + e[i] cause in ARMA only previous random parts: $\varepsilon_{i}$ - is multiplied by $\theta$'s.
UPD: With the help of jbowman I've checked the idea of positive ACF with more correct modeling.
R does have the functions to model the general ARIMA process and much more:
imap.sim <- arima.sim(model=list(order=c(0,1,1), ma=0.9), n=100) # modeling with positive theta
iman.sim <- arima.sim(model=list(order=c(0,1,1), ma=0.9), n=100) # modeling with negative theta
ts.plot(imap.sim) # plotting
ts.plot(iman.sim)
imap.acf <- acf(imap.sim, type="correlation", plot=T)
iman.acf <- acf(iman.sim, type="correlation", plot=T)
And the results:
- With positive theta:

- With negative theta:
