Certain trivial functions appear to work fine. So, it's not all functions that return Bool.
Everything appears to work fine if you smuggle the value of the Bool as a Real, e.g. (define-fun eqfn ((x Real) (y Real)) Real (ite (= x y) 1.0 0.0)) and replacing call sites with (= 1.0 (eqfun ...)).
On dReal v4.21.06.1:
returns satisfiable.
It seems like all
define-fun
functions that return a Bool don't work correctly.