Here are some tips:
1. Original size, will give you the best quality because you will neither add or remove pixel information. However if you need small but somewhat detailed images, this might not be the best way to go.
2. Scaling down, can be a good idea as it can be difficult to draw a lot of details in a 32x32 sized image. So you can make the image larger say 128x128 and then scale it down. Since you are scaling down its more difficult to see the loss of details from the original sized image. Therefore it can be done. Imagine a picture of Mona Lisa at 1024x1024 and you scale it down to 32x32, then you need 1048576 pixels that made up Mona Lisa in the original image to suddenly be represented in 1024 pixels. So logically you will loose a lot of details, but since you are scaling down, the new image is so small that you can get away with it.
3. Scaling up, if possible I would avoid doing this, but if you have to, you really need to scale by a small amount, especially if your original image is small to begin with. It will pretty much have the opposite effect of scaling down, because as you scale up its also easier to see all the errors since the image gets larger, which is because you are adding pixel information that ain't available in the original image, therefore you get this stretched, fuzzy/smooth look as it tries to compensate for these missing information. However if you original image is somewhat large to start with, you can get away with more scaling up.