What a difficult choice this was. There were lots of good, wellexplained solutions. The three I have chosen are from Michael of Worth School, Peter of Gresham's School and Ian of Torquay Boys' Grammar School. Each gave a slightly different explanation which I thought you might find interesting. Michael gave the following explanation:
The solution to this problem is actually very simple. First consider all of the top left hand numbers: $1, 2, 4, 8, 16, 32$. We shall call these the KEY numbers. It is these that are added to give the number you are thinking of.
Now, every number from $1$ to $63$ can be made by adding these numbers, the first $8$ are given below:
$1$:  $1$
$2$:  $2$
$3$:  $2+1$
$4$:  $4$
$5$:  $4+1$
$6$ :  $4+2$
$7$:  $4+2+1$
$8$:  $8$
You can now add $1$$7$ to $8$ to get all the numbers up to $16$. At $16$, you can add all the number $1$$15$ to $16$, to get all the numbers to $32$. And finally, you can add all the numbers $1$$31$ to $32$, to get all the numbers up to $63$ (made up of $1+2+4+8+16+32$)
Each number has a unique way of being formed. Now, when making the cards, imagine that a person starts with blank cards except for the left hand corners which have the key numbers written on. All he has to do is go through all the numbers from $1$$63$, writing them on those cards whose key number makes it up.
For example, $39$, would be written on those cards whose key numbers are $32$, $4$, $2$ and $1$. This way, the number $39$ appears on just these cards, and the magician (or anyone) can quickly add the numbers ($32$+$4$+$2$+$1$).
Therefore, since every number is made up in a unique way from the key numbers, the key numbers on those cards selected will always add up to your number.
Peter explained it as follows:
This method will be able to accurately predict the number you have chosen for any number up to and including $63$, as long as your friend remembers and recognises their number.
This is because the numbers at the top left of each card ($1,2,4,8,16,32$) are the binary numbers or Base $2$ numbers. I will call these the "card numbers". A selection of these numbers can be added together to make up any number up to $63$ (which is the sum of all these numbers) without repeating any of them. There is also only one possible combination of these numbers that can be used to make up any one number.
Each card contains on it the numbers in which it is needed. Reordering the cards in descending order of their first number and using the binary code for each number can be used to show this;


$32$ 
$16$ 
$8$ 
$4$ 
$2$ 
$1$ 
$23$ 
$=$ 
$0$ 
$1$ 
$0$ 
$1$ 
$1$ 
$1$ 
Hence $23$ appears on the cards starting with $1,2,4,16$.
For example on the card starting with $1$, it contains all the odd numbers because there is no combination of these numbers that can make up an odd number without using number $1$.
Card $32$ contains all the numbers from $32$ to $63$ because it is needed to make up all these numbers.
In other words each card contains the numbers which need the number in the top left hand corner to make it up. As a result, the numbers appear in groups. Hence $4$ is needed in $4,5,6,7$ and then not for $8,9,10,11$.
On the "$4$" card, each group consists of numbers that go from using none of the "card numbers" before $4$ to all of them. This can be shown using binary:
Using $4 2 1$
$1$: $0 0 1$
$2$: $0 1 0$
$3$: $0 1 1$
$4$: $1 0 0$
$5$: $1 0 1$
$6$: $1 1 0$
$7$: $1 1 1$
Here we can see that all combinations of numbers beneath $4$ are completed before $4$ is "used up" and we need to move on to the "$8$" card.
There are exactly $32$ numbers on each card including the first one, hence any "card number" is needed to make up $32$ of the $63$ numbers.
The first set of these numbers goes from their "card number" (which is $4$ in the example above) continuously until the first number of the next card/ the next binary number ($8$ in the example above). This is why the card starting with $32$ goes continuously until $63$, which is the number just before the next binary digit, which is $64$.
Each card contains the numbers which need the "card number" to make it up, these numbers will follow a pattern, starting with the first number then continuing for the amount of the first number and then there will be a gap of the first number where the first number is not needed to make up these numbers. Then the numbers will start again and continue for the amount of the first number etc... So for the card starting with one the numbers are alternate, for $2$ the numbers are in two's with a gap of two in between each pair.
and finally...
Each card is designed to show each number in binary format.
The first numbers on each card are $1, 2, 4, 8, 16$ and $32$, which are the powers of $2$ and separate the digits in binary code.
Binary code (base $2$) is set up as a series of $1$s and $0$s, where $0$ means nothing and $1$ means $1$ lot of the following numbers:
32s 
16s 
8s 
4s 
2s 
1s 
1 
1 
1 
1 
1 
1 
This number means $63$, since it is $1 \times 32 + 1 \times 16 + 1 \times 8 + 1\times 4 + 1 \times 2 + 1 \times 1$.
The first card asks whether there is a '$1$' in the number, so this contains all odd numbers.
The second card asks whether there is a '$2$' in the number, so this contains $(\text{multiples of } 4) + 2$ and $(\text{multiples of } 4) + 3$
This continues with six cards, until the sixth card asks whether there is a $32$ in the number, and this contains all numbers greater than or equal to $33$.