That is right, we have seen that is inconsistent too. When you have 3 entries in a multiselect it seems the most consistent way to generate the defect. These are the alternate solutions they sent.
1. Put an extra character in the text so the value will be sorted alphabetically.
a. (e.g., AStart of Line, BMiddle of Line, CEnd of Line)
2. Use the IDs that are being returned then use a search to get the correct names to associate with those IDs. The pseudocode is below:
a. Use search.lookupFields to get the selected options from the multi-select field.
b. Iterate over the returned array. For each object in the Array, get the value and push it into a new array (call it idArray).
c. Run a search for all instances of the custom record that is used as the list for the multi-select field.
d. For each result, if its internal id is in the idArray, create an object with the name and internal id of the record.