It's definitely not a factor of anything problem, and it does not affect all devices. Basically, the device is returning either 0 or some invalid/unexpected data as the timestamp for MTP objects. Why it is doing so, is the question, I know of no way to debug that, short of running calibre from source and inspecting the data you get from the MTP subsystem on the OS. Which you can do by getting the calibre source code and then inserting some print statements in mtp/filesystem_cache.py around line 40 to see why the modified timestamp is not failing.
https://manual.calibre-ebook.com/develop.html