If you have multiple stores, make sure the default images for selected for each store:
media_gallery is used to store the collection of images for each product. Be sure that the Small Image is selected for the store view product listing. (Base Image is used on the product page, Thumbnail is for the cart page.)
If the images are added programmatically or during import or by APIs, be sure the specify the store. To use the same images across stores, set
store_id = 0.
If the default images should be the same across the stores, then you can set the 3 image attributes to Global in the backend Manage Attributes. The image attribute codes are
thumbnail. But beware, when the attributes are saved, all the values for
store_id > 0 will be removed in the backend type tables, which is
catalog_product_entity_varchar for the images. However, you would still need to set the defaults like the screenshot above.