Habe nachgesehen und es wird tatsächlich ImageList_WriteEx verwendet. Allerdings konnte ich das Problem mit den Bitfehlern bei mir nicht reproduzieren. Du hast zwar Recht, dass sich ein einzelnes Byte beim Abspeichern immer ändern, aber dieses Byte befindet sich noch in den 29 Bytes des ImageList Headers. Über das Format konnte ich nicht viel herausfinden, aber ich nehme mal an, dass es sich schlicht und einfach um einen Timestamp oder sowas handelt. An den RAW Daten der Bitmaps ändert sich bei mir zumindest nichts.
Vielen Dank! Könnte es sein, dass es am CnWizards ImageList-Property-Editor liegt? Ich habe bisher immer diesen verwendet, da die Images im Delphi ImageList-Editor nicht in Originalgröße dargestellt werden und man deshalb zur Beurteilung des Aussehens der Images immer den ImageList-Editor verlassen muss. Beim CnWizards ImageList-Property-Editor hingegen werden die 16x16 Bilder in Originalgröße dargestellt.