OK, I can understand if you are sceptical! So I have put together a demo.
It's a stripped down version of my program so some object names might be a bit obtuse but it does the job. Run it and press the "Good" and "Bad" buttons. The buttons run the same loop with a small difference at the end. Each iteration of the loop generates a BMP in a different shade of grey and adds it to the imagelist. At the end of each loop, all the images currently in the imagelist are written out as BMP files.
This generates two sets of 21 BMPs. The good ones are done without resize, the bad with resize. You will see that in the good one, "0" is always white, "1" a shade darker, etc. In the bad set, "0" is white in the first pass, darker in the second, etc. This shows that when resize is used the imagelist gets rewritten when an item is added (or the images are references to the last image).
If anyone can explain the logic behind this I would love to hear it! A solution would be even better
