After N steps, they will have received 2*N coins and withdrawn N coins. At that moment, there will be 2*N-N coins in the box.
If the box is empty at midnight, this implies:
limit(2*N-N)(for N->inf) = 0
At least a little bit surprising.
@ThunderCloud
I have some troubles to refute your argument. If you remove an infinity of finite numbers from infinity of finite numbers, it does not imply no finite number remain. (Not sure I am convincing and clear enough.)
Counterargument: Al removed all coins 1 - N, coins > N remain. If N -> inf, numbering looses it's sense, but he did not remove all coins.
As for Charlie, I am ruminating, too. The first idea: every number will remain with p=1/2. Wrong, 1 will be more likely removed than 99.
2nd idea:
1st step, 2 coins: p(removing 1)=1/2
2nd step, 3 coins: p(removing 1)=p(1 was not removed in the first step) * 1/3 = 1/2 * 1/3 = 1/6, p(1 remaining after 2nd step)=1 - 1/2 - 1/6 = 1/3
3rd step, 4 coins: p(removing 1)=p(1 not yet removed) * 1/4 = 1/3 * 1/4 = 1/12, p(1 remaining after 3rd step)=1 - 1/2 - 1/6 - 1/12 =
I will not venture further, but this will not converge to 0. (Compare to 1 - 1/2 - 1/4 - 1/8...)