Help with add-on to auto save image when I save .blend
The problem is that the handler isn't persistent, so it will be registered when you first register the add-on, but as soon as you open a file it'll be gone again. Annotate it like this to make it work:

@bpy.app.handlers.persistent
def save_external_images(dummy):
    for img in bpy.data.images:
        print('Saving', img.name)
        img.save()


For more info, see the Blender API documentation.