A slightly different proof without iteration.
The case above is equivalent to the series:
$$\lim_{k->\infty}\sum_{i=0}^k 1000\times\left(\frac{1}{4}\right)^i $$
where each 'iteration' is one set of exchanges; the first ($i=0$) is when he buys the initial thousand chocolates, and then from there on out he buys $\frac{1}{4}$ the previous iteration's amount.
That is a convergent geometric series of the form
$$\sum_{i=0}^\infty (a\times r^i) $$
where $a=1000$ and $r=\frac{1}{4}$.
That converges to
$$\frac{a}{1-r}$$
for $r<1$, which in this case means it converges to $\lfloor{1000/0.75}\rfloor$ or $1333$.
Thus, he can buy 1333 chocolates over his various iterations, with only 1 wrapper remaining at the end.
As pointed out in comments, we actually need to subtract one from the numerator for this to truly work out: while our infinite series is an accurate representation, we must have one wrapper left over at the end (the wrapper for the last chocolate we ate), which is equivalent to 0.25 dollars/chocolates. As such, the true solution is
$\lfloor{\frac{1000-0.25}{0.75}}\rfloor$. This is still $1333$ in this case, of course.
Of course, this assumes he doesn't have the ability to invest his money in the market. If he invested at 10% annual return, and bought chocolates with the return, he could buy [100/.75] or 133 chocolates per year (plus an occasional bonus chocolate every four years, for leap years) indefinitely, assuming he got identical returns every year and/or conserved excesses to spend or recapitalize in down years. He'd only take about ten years to recapture his full 1333 chocolates (actually 1332, so it would be a few days into the next year) to equal his earnings if he simply ate it all now, assuming no inflation or change in store policies.