Como disse Byte56: "nunca confie no cliente", mas:
Nunca confiar no cliente tem um preço:
ter todos os jogos sendo jogados no servidor aumentará muito o custo da sua infraestrutura.
Supondo que a maioria dos jogadores não trapaceie
e que o recorde máximo se acalme depois de um tempo e pare de mudar muito
existe um caminho do meio.
Grave os jogos (no cliente).
(Dependendo do tipo de jogo que pode ser super fácil (por exemplo, xadrez) ou um pouco complicado (por exemplo, um FPS multiplayer),
mas é sempre possível.)
Quando um jogador termina um jogo, basta enviar a pontuação.
Se a pontuação estiver dentro de um determinado intervalo no topo (por exemplo, 1% ou 5 melhores),
solicite os dados gravados ao jogador
e reproduza esse jogo no servidor.
Se a pontuação corresponder, aceite a pontuação.
Dessa forma, você não precisa de recursos adicionais do servidor para a maioria das jogadas,
mas pode garantir que as melhores pontuações sejam válidas.