The problem you are referring to is actually an anti-aliasing issue. Perhaps you've heard all the discussion about "full-screen antialiasing" and so-forth for the next gen consoles coming out (Xbox, GameCube, etc).
The idea is that if you create a game screen larger than can fit on the TV screen, and then use full-screen anti-aliasing to shrink the image without losing pixels (some are combined to form another pixel color that blends the original ones), then your level of detail is much greater... not to mention its easier to program & its faster if you anti-alias the whole screen rather than tons of tiny areas.
So now you know the name of your problem... I suggest you go to VB Helper
and search his Example Programs. Rod Stephens wrote an excellent book entitled "Visual Basic Graphics Programming" which has a section that covers EXACTLY you issue as well.
I will tell you that shrinking an image is historically problematic, and that you are not going to find one single API
that will do what you want. Instead, you are going to have to use the "GetBitmapPixels" API, loop through every pixel and do some color averaging, and then use "SetBitmapPixels" on the new bitmap to blit it back.
Anti-aliasing is a real pain in practice.
Regards, and good luck,
<font color=green>"On a long enough timeline, everyone's life expectancy drops to zero."</font color=green> - Fight Club