Di recente mi sono imbattuto in questo e ho trovato la soluzione più ragionevole per lanciare semplicemente qualsiasi int UNSIGNED come SIGNED.
SELECT *, ((1 / log(1301980250 - cast(date as signed)) * 175) as weight FROM news_articles ORDER BY weight