Of course,the best answer is DamithSL's (fived btw). But I think you should understand what you are doing in your code.
The first part is OK:
int number, digit1, digit2, digit3, digit4;
number = Convert.ToInt32(txtNumber.Text);
digit1 = number % 10;
digit2 = (number / 10) % 10;
digit3 = (number / 100) % 10;
digit4 = (number / 1000) % 10;
If you just had debugged this, you'd see that after this,you already have the numbers in reverse order (if number is 1234, you've got after this 4 in digit1,3 in digit 2...)
So simply adding:
lblReserved.Text=string.Concat(digit1,digit2,digit3,digit4);
would have given you the right answer.
Instead of that, you start assigning the values in no specific order, and you must understand that after you give a variable a value,the previous one is lost. It's a nonsense.
Finally, you give the lbReserved the original value (lbReserved.Text=number.ToString()), so of course what you see is the original value.
Sorry for the long answer,but seeing the code it seems you are a newbie and have some wrong concepts that deserved an explanation. :)