If you do a *newer* on a file it always says: Local file "x" is newer than remote file "x", regardless if that is true or not. The exception: The file doesn't exist on the client.
'newer' works fine here - note though that a retrieved file is stamped with the time of retrieval and not the timestamp of the file on the server. Also note that time zone differences may account for some confusion.
There's another case where 'newer' doesn't work, which is when the FTP server is running under Win95 with some of the AnonFTP servers that are available for it. At least one of them ALWAYS reports ALL files as being datestamped "29 Feb 1995" in its listings - and yes, I'm well aware that the said date does not exist, but that doesn't stop the said servers from reporting it. Note that if this is the cause, then there's little (if anything) that can be done about it at the client end of the link, so one should always be prepared to check whether the datestamps seen from the server are in fact correct.