I suspect that there is an error in the ArrayItemize function. If the first element is a null(nothing) then the function returns a empty string, even though other elements exist. I worked around it by inserting a value into the first element and the function worked as expected.
This occurred due to the fact that I created the array via arrayize and the first byte in the input string was a delimiter. The udf that I was using to perform this function (udfvbjoin) did handle this situation