It has a lot to do with their instruction not to circle zero. By subtracting one number from another, you limit the number of valid choices that remain. By leaving the zeroes in the number, the number is in essence already chosen, reagrdless of the final order you place the digits in. You'll find that if you circle a zero instead, the trick will be wrong every time.
The instruction to pick numbers with different digits is also important. Even if you pick 998, the number can be changed into 989 or 899, but if you choose 999 and then subtract 999, you're left with zero, unable to circle any number besides zero because of their instructions, and if you take out the circled number as they ask, the trick will fail.
From those restrictions, I'd imagine this proof would be very simple.
Edit: In fact, I've gone ahead and proved it.
Let's say your number is abc. For all combinations in this form abc, there are a certain number of valid permutations for the second number. They are acb, bac, bca, cab, and cba. So, testing for these cases:
abc - acb = 0(b-c)(c-b)
abc - bac = (a-b)(b-a)0
abc - bca = (a-b)(b-c)(c-a)
abc - cab = (a-c)(b-a)(c-b)
abc - cba = (a-c)0(c-a)
So as you can see, all results are different from each other. When you provide the two numbers that are left after circling the third, only one of the answers can be the correct one. No pair of two bracketed numbers is shared between any of the valid final numbers.
I hope that makes it fairly clear. The four-digit proof would be much the same, but longer; it would involve a number abcd, and it would take 0 into account to avoid similar groups of bracketed numbers.