CCK,
Your Null is propagating to the third argument of your IIf. The IIf function always evaluates all 3 of its arguments, so even if the 1st argument evaluates to True, it still evaluates the False (3rd) argument, while attempting to return the True (2nd) argument.
So, try...