Imagelist & 16 bit vs 32 bit screen

I'm programming a tile-graphics game with Delphi and load the tiles (32x32
pixels, 256 colors) at run-time by copying them from a large bitmap to a
standard Delphi imagelist. I have three pre-calculated light versions of
each tile. I could use standard bitmaps, but I use imagelist to save GDI
resources (about 1-2% currently used). Transparency is used.

I found some oddities:
- when tested from Delphi (1280x1024x32 screen resolution), the graphics are
very fast.
- when tested outside Delphi at the same resolution, the graphics are _much_
slower (or, at first fast, then slow down). Exactly why does this happen?
- when tested in 1024x768/16 bits or 1280x1024/16 bits, graphics are fast
but the tiles (especially the 2 darker versions) become very dark & dim
compared to what they look at 32 bit.

Can anyone help with this?

Btw. does G32 library's imagelist use much GDI resources? Can it be used at
16 bits screens?