Interesting.
How many iterations did you require to be able to see a noticeable time difference?
Also, did you perform this in VBA? I ask because, IIRC, IIf() works differently in a query than in VBA.
In VBA I think both the True and False parts are evaluated, even if the condition is True...