I can reproduce this with both the current master and 1.8.12 from the debian repos, although I have to create a new file tens of times to make it happen.
Also, while I was doing a loop of creating a new empty file via "File->Create Document->Empty File" and then deleting it to test for this bug, I got a crash. I don't know exactly which step triggered it. I was not running thunar in gdb at the time and I so far I have not been able to reproduce the crash, so no backtrace I'm afraid, but the error message generated was
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
thunar: ../../src/xcb_io.c:260: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted
If e.g. two files are copied, and only one file is selected afterwards, it can be observed that thunar_list_model_files_added is called twice, once for each file.
Though the second call happens after thunar_list_model_get_paths_for_files. So one of the new files was not in the list of rows yet.
That is, why it is not found by thunar_list_model_get_paths_for_files. As a result, only one file is selected.
Looks like the "finished" signal ob the job will be emitted for each file copied (That will trigger thunar_list_model_files_added) Whereas the closure which triggers thunar_window_select_files will not be called that often (job signal "new-files"), and sometimes will be triggered before the last "finished" signal of the job.