For yet to be understood reasons,
posText = array(cgiExtraParameters,3,"~")
posText = Array(rawCgiExtra,val(ArraySearch(rawCgiExtra,"pos",1,"~")),"~")
does not. I've been staring at this for too long and thought if I asked others, I'd be put out of my misery of overlooking something obvious. The 1st format works but I can not count on the order of each set of values so I was going to use the search method, but alas, it is not working.
I'm not thinking that it matters, but this is in a shared Enterprise database and these statements are in the procedure that is run when the record is added via the use of a url.
... and specific to the original post
pos = array(cgiExtraParameters,4,"~")
pos = Array(rawCgiExtra,val(ArraySearch(rawCgiExtra,"pos",1,"~")+1),"~")
does not. The posText and the pos fields are both empty using the 2nd method.