Colour Palette GURU's question

Hello Palette Guru's !!

I'ld like your advice on the following.

I have an MDI application (Delphi 2) that has on each MDI Child a
variable number of TImages, containing bitmapped measured data. For all
TImages I want the same colour palette (appr. 20 entries). I want to
be able to change the colours easily, preferably without needing to
refresh all palettes. My solution so far was:

Palette_0 with all entries with flag = PC_RESERVED
Palette_1 with all entries with flag = PC_EXPLICIT

Palette_0 was selected and realized into the Canvas of the main form
Palette_1 was assigned to the Picture.Bitmap.Palette property of
all TImages on the MDI Child windows. This way I need only change
Palette_0 to change the colours in all TImages on all MDI hild windows.
In a separate application, displaying all colours from 0 to 255, I could
see
that indeed my palette was present in the system palette.

When I wanted to change the colour scheme, I set the entries and used
AnimatePalette.

Now there are the following problems:
1) AnimatePalette does not work instantaneously, as is promised by the
online help. Only after changing focus a couple of times or explicitly
selecting and realizing Palette_0, the system palette changed (and
so did the bitmap colours as I wanted).
2) sometimes one TImage temporarily forgot its palette, resulting
in an empty image. Then after e.g. resizing the TImage it could
happen that it recalled its palette again, and the image re-appeared.
3) CopyRect with flipping the bitmap from left to right (mirror around
the vertical axis) did not work. It DOES work if every TImage has its own
palette with entry flags PC_NOCOLLAPSE. But that way I need to do
a lot of palette manipulation when creating/deleting a TImage or
changing the colours.

Any answers or hints? Any alternative solutions?

Any help will be greatly appreciated!!

Wim