Here's my question. How do you rescale bitmaps?

...and I don't mean using the PaintPicture or StretchBlt API.

e.g. I created a bitmap (used for memory DC) whose size is 320 x 240 pixels. Now how can I rescale (resize, expand...call it whatever you like) it to, for eg., 640 x 480 pixels?
The only solution I've come around so far is to create a new bitmap and delete the old one... but I know there has to be another way.