This is a known problem between burn programs and the Linux kernel.
The kernel only forwarded SG_IO ioctls to the burner device and
does not know that the device content changes. So its device state
model and its data buffers stay outdated.
I am not aware of a reliable method to let the kernel re-assess
the medium, other than reloading the medium.
If orion's proposal of udevadm trigger helps, then i would be
interested to learn the exact command text.
Well, if it is an ISO 9660 filesystem, xorriso can compare the files
by reading their real content via SG_IO ioctls.
xorriso -for_backup -indev /dev/sr0 -compare_r /disk/path1 /iso/path1 -compare_r /disk/path2 /iso/path2 ...more.compare_r...
where you use instead of /disk/pathX /iso/pathX the directory tree
paths on hard disk and in ISO which you want to compare.
It would become more convenient if you created the ISO by xorriso
while its command -for_backup is in effect, or with xorrisofs and
xorrisofs --for_backup ...mkisofs.arguments...
Such an ISO can be verified by
xorriso -for_backup -indev /dev/sr0 -check_md5_r SORRY / --