Recently I downloaded a trial of VMWare in an attempt to find incompatabilities between Windows 95, 98, NT, and 2000. Well, I found quite a few, but this one was probably the most frustrating.
If you have a project that uses a large number of TImageLists, you can get into a state on machines with "old" versions of ComCtl32.dll where no images appear in the TImageLists. This is incredibly frustrating, because your code has no bugs, and there are no error messages to indicate that anything is wrong; the images simply fail to get loaded from your resource.
Because I knew that TImageList uses the ComCtl32.dll library, I was able to track this one down with the help of VMWare. Basically, I configured VMWare to treat its virtual hard disk as "nonpersistent." This means that any changes that a guest OS makes will not be maintained if you hit the "Reset" button. This makes it easy to try new (and potentially dangerous) options. I started off by simply copying the ComCtl32.dll file from an IE 5.0 installation to my virtual Win95, which had the obviously undesireable effect of rendering the virtual machine unbootable. No problem - I hit the reset button, and tried installing Internet Explorer 4.01 SP2 from my MSDN CD. Bingo! the bug disappeared. So I hit the Reset button again and started searching the newsgroups and web for ways to update ComCtl32.dll without installing Internet Explorer.
Which brings us to "The Link". You can download an upgrade for ComCtl32.dll Here. If this link is dead (Microsoft just Loves to change their site around...), search for Knowledge base article Q186176.