Please note the module abc.azurecr.io/abc. It is created 3 days ago. At some point of time you will have to perform update of the image. To do this, do some changes in the module and build it again.
But, before you do that, stop iotedge service.
On windows:

stop-service iotedge -NoWait

on Linux

sudo systemctl stop iotedge

Now, you can do build of the image. I did a build with following command:

You will notice, that abc.azurecr.io/abc have need overwritten by image stored in cloud registry. Notice "3 days ago". This indicates, that iot runtime is running the image from cloud registry and not you image built on the box.

Conclusion

New version of images installed on the box (it doe not matter how) of the same version do overwrite existing images of the same version. This is how Docker works.
However, IotEdge runtime will overwrite image on the box from docker registry with the same version, even if the image on the box is newer one.