Что-то мне сильно подсказывает что не на VC ты пишешь...
Ну впрочем это неважно
Делается всё просто... проще некуда:
1. CreateDIBitmap(...). // она всё выделит...
2. Потом когда нужно изменять SetDIBits(...).
Если нужен пример то напиши, но про CreateDIBSection забудь... Не создаст он тебе нормальный HBITMAP и не должен создавать ни в 98 ни в ХР, так что странно что вообще что-то работало...
The CreateDIBSection function creates a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap.
ЗЫ: если пример нужен напиши