WriteIf function output result for single element of array (if "Expression" is array type). It does not output array. There is not array of strings in AFL.
It is clearly mentioned in manual what WriteIf does (so it works properly according to its purpose) and has been posted several times already.
Also AddTextColumn() function does not output array of strings.
And IIf() function is for numerical input/output values but not for stings.You even posted the link to manual.
Long story short... for conditional string output on historical numeric array in explorer you have to use AddMultiTextColumn().