What I mean is that everything gets evaluated regardless of whether the condition evaluates to True or False. In other words this will produce an error:

someval = IIf(True, 1, 1/0)
even though the 1/0 is in the False part, whereas this would not, because the 1/0 would never be evaluated:

If true then
  someval = 1
else
   someval = 1/0
end if