Why do apps get smaller when they are moved to the SD card? For example, the Barcode Scanner app takes up:

Total: 0.96MB
Application: 0.92MB
Data: 40KB

on the phone. When I move it to the SD Card, it changes to:

Total: 524KB
Application: 484KB
Data: 40KB

How come it changes?
Like Bryan says (I can't comment so had to add another answer...), it doesn't move the whole app. The size given after the move is the bit still on the internal storage - it doesn't give any size for the elements that have beend moved to SD.

So in answer to your question, the app doesn't get smaller, just amount of internal storage used gets smaller.