Você está vendo o gradiente porque o gradiente não tem etapas suficientes para produzir a matriz inteira de cores entre o ponto inicial e final.
Uma maneira que as pessoas sugerem é aumentar a profundidade das cores.
Acabei de criar um gráfico de 800 x 600, uma cor de 32 bits e um gradiente de branco para preto - apenas faixas mínimas.
Fazendo o mesmo gráfico em 8 bits de cor, com faixas muito mais visíveis.
A melhor solução que já vi é usar uma forma com um estilo de camada anexado a ela. Há menos faixas, porque a forma é um vetor, em vez de uma camada rasterizada.
Caso contrário, reduza a diferença de cor entre os dois endpoints e você deve estar certo.