It's been a while, but have a look at compare_source.lha from aminet.net/util/dopus, and the get_s_twice and get_s_and_d functions in there. Looks like the kind of thing you're trying to do.
There's source to some other plugins there which may help with the timestamps, but I'm not sure, since it's been so long.
Thanks for pointing me to that source and these functions. That really helps.
The functions operate on the selected files, whereas I need all files of a list, but I can probably solve this with dc_SendCommand and an ARexx command to select all files beforehand.