1000 => 976
10000 => 3616
Here are the results for 1-20 cards:
1 1
2 2
3 2
4 4
5 2
6 4
7 6
8 8
9 2
10 4
11 6
12 8
13 10
14 12
15 14
16 16
17 2
18 4
19 6
20 8
The pattern is that if n is a power of 2, then the last card has value n. For n = 2^k + l, we have that the last number is 2*l.
Hence, for 1000, n = 2^9 + 488, so the solution is 2*488 = 976.
Hmm, thinking about this, it looks like you had half the solution.
So for 1024 cards, our first round leaves us with 2, 4, 6, ..., 1024, the second round leaves us with 4, 8, ..., 1024, third round 8, 16, 24, ..., 1024, etc. until we end up with just 1024, the solution.
However, if we have 1025 cards (let's say), then on our first pass, let's say I'm on card 1023. I toss it out, then I put 1024 on the bottom. At this point, my stack is 1025, 2, 4, 6, ..., 1024. Now I toss out 1025 and put 2 on the bottom. It is effectively saved this way. Now my stack is 4, 6, ..., 1024, 2.
There are 512 cards there, but they're rotated by 1, so instead of 1024 being last, 2 is. Therefore, 2 is the solution. I won't do a full induction proof, but it's pretty clear that if you used induction you could prove the observation I made earlier that for n = 2^k + l, the last card is 2^k if l = 0 and 2*l if l != 0.