pues después de todo sí que se podía usar la expresión IIF(ISNULL(..)...) el problema estaba en ese largo criterio de selección que había comentado antes. En una de las lineas tenía esto:
WHERE ....... AND CDBL(IVA) LIKE '%' ....
y claro, el dichoso nulo no lo admitía. Lo he cambiado por esto:
WHERE ....... AND (CDBL(IVA) LIKE '%' OR IVA IS NULL) ....
Muchas gracias de todas formas y un saludo.