Might I suggest an alternate approach to what you have posted...
Because you seem to tie the contents of the list views to the contents of a folder, I would suggest that you create a refresh function for each list box. In that function, clear the items collection of the list box and then enumerate the target folder adding the information for each file. This will clear any selections the user may have made previously but it will guarantee that the list box always reflects the contents of the directory after the refresh method has been called. If push came to shove, you could compare the two result sets and update the collection for the list box.
I would then make your move method simply move the target files without regard to the list boxes calling the refresh methods once the moves have completed. This has the added benefit of removing your tallying efforts (simplifying the code) and reflecting the actual status of the files after the move. If a file failed to move for some reason, the user wouldn't be misled because the list boxes would indicate that it had been moved.
The best solution might be to call the refresh methods as soon as you know the directory locations (at app startup) then setup a DirectoryWatcher that notifies you when the contents of the watched directories change. In that handler you could call your refresh method. (Although you might consider inhibiting that functionality while you are doing the file moves.) The advantage with the directory watcher is that your app would reflect file moves... as they happened... inside or outside your application. Of course, you have to be careful here because the directory watcher events may come on a different thread and you would have to marshall the call to the refresh methods over to the UI thread to avoid a cross-thread exception.
As for your notes problem... the issue would seem bigger than just getting the data across the list boxes. For example, how are you persisting this from one session to the next? That is probably the solution to the list box issue as well. You should have some mechanism to match the persisted note information up with the associated file. That mechanism is the same regardless of which list the file would appear in. You would need to persist the notes prior to the move but once the move was complete, and you refreshed the data in the list boxes, you would be able to match the notes back up for each list box.
One solution to persisting the data might be an xml file or a backend database. You could also use NTFS file streams if you can be sure the files will ALWAYS live on NTFS partitions. (If they get moved to a FAT partition, the secondary data fork will be dropped).
There is an article on using this feature here.