If you change one byte in the file, obviously the file size remains the same. There's no way around it.
Hey, how about implementing some checksum checking comparison criterion similar to rsync (-c, I believe) switch? It will make the synchronization far slower and probably will introduce some issues as to how checksums for specific locations could be cached as well as how to compute checksums, server-side to speed-up things (shell access must be enabled) but at least, people won't overwrite their files because of file time OS-dependent issues or mis-synch other files just because size isn't really changed and file time OS-dependent problem comes again into action (a particular type of files that suffer from this are sqlite databases!). Of course this particular mechanism may be implemented through specific software/scripts running on client and server-side but built-in support would be much appreciated I guess... I lost quite a few times thunderbird or firefox changed settings because of this problem affecting sqlite files...