Hola de nuevo.
Tenía curiosidad por el problema y he hecho un par de pruebas mas. Definitivamente no es por el 0, nada que ver. Lo que estoy viendo es que parece que Interbase no acepta las UDF's en la clausula group by, igual que por ejemplo no puedes utilizar los alias de las columnas en la misma clausula
.
La verdad es que ya no me acordaba, pero este problema se me presentó hace algún tiempo. Entonces la solución fué incluir otra tabla en la consulta y sacar de ella el dato que iba a conseguir con SubStr. Era algo urgente y no me puse a buscar mas soluciones, pero ahora que veo que te pasa lo mismo voy a buscar algo por ahí a ver que encuentro.
Pero vamos, que si tienes la opción de agrupar por otro campo, deberias aprovecharla...