I have created a blank user control and added an imagelist to the control with 2 images in it. Your code works perfectly to display a specified (1) image from the imagelist control.
I also tried it with custom size images and it still works.
My guess is that you are executing some other code after the initialization that causes it not to be displayed.
Try painting the image to your usercontrol picture property or if that is what you are doing, then to an image control that would be visible in the control.
The only other thing that I can think of is if you are using transparency for your control - you may not me able to see anything in it without the mask propert set.