In Prestashop 1.7.7.5 I have the same issue : images are disappearing after reordering them.
Context:
Site migrated from Prestashop v1.6 to Prestashop v1.7.7.5 using Prestashop Migrator (v2.1.6) module.
Analysis:
It seems that the "product_id" in the table "ps_image_shop" is set to zero, leading to issues.
With the following SQL query, you can get some examples rows to see if it's your case.
SELECT psi.id_image, psi.id_product, psi.position, psis.id_product, psis.id_shop
FROM ps_image psi
INNER JOIN ps_image_shop psis ON psis.id_image = psi.id_image
WHERE psis.id_product <> psi.id_product
LIMIT 100
To restore the mapping of the "ps_image_shop" if your mapping is still correct in the "ps_image" table it's pretty simple.
BEWARE: please do not launch this command without having done a database backup first !
UPDATE ps_image_shop psis
SET psis.id_product = (SELECT psi.id_product FROM ps_image psi WHERE psi.id_image = psis.id_image)
Hope it helps.
It seems to have resolved my problem!