Yes the indexes of the images will change. If you want the indexes to remain the same, you could make a blank image and just replace instead of remove.
Even better is use the tag property to identify your images. Unless you have thousands of images, it wouldn't take a noticeable amount of time to search for a particular tag. This way your code can inherently handle any changes to your collection of images.
In addendum to my previous post, I forgot that imagelist implements a keys collection. If you setkeyname of the images when you add them, you can use such methods as removebykeyname, containskey, indexofkey, etc. This would be an even better way of not having to worry about changing indexes.