Forse perchè nella prima query di selezione manca la clausola GROUP BY (non ho provato):
codice:
SELECT BDLRKDBDL,BDLCLIENT,COUNT(BDIRKDBDI) AS NRCAPI 
FROM BDICCP00F LEFT OUTER JOIN BDLCLL00F ON BDLRKDBDL = BDIRKDBDL
WHERE BDIPRVTAB = 'BAP' AND BDLSPEDIZ = ' '
GROUP BY BDLRKDBDL,BDLCLIENT
UNION
SELECT BDLRKDBDL,BDLCLIENT,COUNT(BDIRKDBDI) AS NRCAPI 
FROM BDLCLL00F LEFT OUTER JOIN BDICCP00F ON BDLRKDBDL = BDIRKDBDL
WHERE BDLSPEDIZ = ' '
GROUP BY BDLRKDBDL,BDLCLIENT
ORDER BY BDLRKDBDL
Ciao.