Eu acho que a consulta a seguir obterá o resultado que você precisa. Primeiro você tem que calcular a classificação em uma subconsulta. Eu acho que é muito mais simples do que sua abordagem, você só precisa classificar seus resultados por vitórias e diferenças em ordem decrescente (supondo que os campos sejam números). Depois, basta selecionar todos os resultados e alterar ordem para jogador desc.
SELECT player, wins, diff,rank from
(
SELECT player, wins, diff, @winrank := @winrank + 1 AS rank
from tmpPoradi,(SELECT @winrank := 0) r
ORDER BY wins DESC,diff DESC
) rt
ORDER BY player
Espero não estar perdendo nada.