This has happened to me a few times in the last few months. It's still present in 5.7.2 but I'm not sure when it first manifested itself.
By default, I choose to compare by both modification date and file size when doing a sync. However, I've found occasions when one or two files haven't been synced when they should have been. When I have detected this, I have experimented by just using file size as my comparison criteria, and only then did it detect the difference.
I'm wondering if the comparison criteria is doing a logical AND instead of a logical OR for these differences. I think it's implicit that if you have moth criteria checked, WinSCP should consider a file as different if either the timestamp OR file size is different, not both.
Can you confirm this observation?