Casi no uso FB, pero de entrada ninguna de las 2 sentencias debería ser válida pues DISTINCT no es una función, sino una modificación a la sentencia SELECT. Lo que FB hace, a mi juicio "chapuceramente", es obviar el paréntesis en la primera sentencia y tratar toda la setencia como si se hubiera escrito:
Código SQL
[-]
SELECT DISTINCT CONUMERO, CONO, WHSCOD, WHSLOC, CLIENTE FROM INSALDO
GROUP BY CONO, WHSCOD, CONUMERO, WHSLOC, CLIENTE
Y digo chapuceramente porque aunque arroja el resultado correcto, no informa que la sintaxis no es correcta.
DISTINCT lo que hace es eliminar filas duplicadas, siempre y cuando todos y cada uno de sus campos sean idénticos.