Prevent implicit casts from being pushed down to Firebird

Otherwise we'll end up with something like "POWER(numericval, smallintval)"
being translated as "POWER(numericval, numeric(smallintval))" which will
of course cause an error. Firebird can handle these implict casts itself.