I found that org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionHelper and the corresponding old api org.apache.hadoop.mapred.lib.FieldSelectionMapReduce take user specified separator string as a regular expression in String.split(), but also use it as a normal string in StringBuffer.append(). It will be a problem if the separator string contains meta character. I suggest take separator literally by calling Pattern.quote(separator). Or just use another property to specify the separator which should be added in the output.
If this is not a known problem, I will file a jira issue and submit the fix.