Добрый день!
Может быть кому-то пригодится
Как оказалось это древняя проблема ODBC драйвера Postgres
Решается в данном случае совсем просто -

dlg.statement := 'SELECT * FROM (WITH RECURSIVE temp1 ( "empno","mgr","ename","job","hiredate","sal","comm","deptno",LEVEL ) AS (SELECT T1."empno",T1."mgr", T1."ename", T1."job",T1."hiredate", T1."sal",T1."comm",T1."deptno", 1    FROM EMP T1 WHERE T1."mgr" IS NULL union select T2."empno",T2."mgr", T2."ename", T2."job",T2."hiredate", T2."sal",T2."comm",T2."deptno",LEVEL + 1     FROM EMP T2 INNER JOIN temp1 ON( temp1."empno"= T2."mgr")      )select * from temp1 ORDER BY LEVEL LIMIT 100) ttt';

т.е. запрос обрамляется одним простейшим select-ом