El problema está aquí:
`ORDER BY karma...
No puede ordenar por algo que se define como un alias. Prueba esto:
`ORDER BY ((SUM(votes.karma_up) - SUM(votes.karma_down)) - 1) / POW((TIMESTAMPDIFF(HOUR, links.created, NOW()) + 2), 1.5) DESC`
Con suerte, el DB puede darse cuenta de no evaluarlo dos veces. De lo contrario, use una selección interna sin el pedido primero para crear el alias, luego use otra selección para ordenar.