Jared,
When you use the field reference of a field that has subfields as the source of a translation action, the engine creates a list of all the subfields to put into xlateInVals. So, the name field doesn’t contain “name;name;name” it contains “name name name”. You can actually simplify your code to accomodate by not doing the lindex or passing the field back as a list.
Try this line only:
regsub -all {\|/|-|.} $xlateInVals “” xlateOutVals