Help on DDB --> DI ImageList --> DIB canvas!

Hi!

  I'm having some problems with the DIB/DDB phenomenon.... Here's what i'm
trying to do:

  1) Load a DDB from a resource. OK
  2) Substitute a couple of pixels in this DDB with your scheme colors. OK
  3) Store this DDB in a device independent ImageList (see below) OK
  4) ImageList_DrawEx on a device dependent canvas... here is the problem!

In step 4, I lose your scheme colors for the original system colors.

I create my device independant imagelist by changing a flag in
TCustomImageList.CreateImageList:
      FHandle := ImageList_Create(Width, Height, ILC_COLOR4 or Mask[Masked],
4, AllocBy);
  instead of
      FHandle := ImageList_Create(Width, Height, ILC_COLOR or Mask[Masked],
4, AllocBy);

If i'm not using a ILC_COLOR4 imagelist, there is no problem since it stays
a device dependent imagelist so the scheme colors stay ok, but i want to use
a 4 bit one to have the smooth ILD_BLEND effect when ImageList_Drawing...

So i'm stuck - If i use a ILC_COLOR imagelist, i have scheme colors but poor
blending effect, and if i use an ILC_COLOR4 imagelist, i get wrong scheme
colors with the smooth blending. Can i have BOTH?

Thanks in advance!

FPB