O problema está aqui:
`ORDER BY karma...
Você não pode pedir por algo que é definido como um alias. Tente isto:
`ORDER BY ((SUM(votes.karma_up) - SUM(votes.karma_down)) - 1) / POW((TIMESTAMPDIFF(HOUR, links.created, NOW()) + 2), 1.5) DESC`
Espero que o banco de dados possa descobrir para não avaliá-lo duas vezes. Caso contrário, use uma seleção interna sem a ordem de primeiro para criar o alias e, em seguida, use outra seleção para ordenar.