MacScript, You are overcomplicating things - using GUICtrlSetData with a leading "|" will replace the data automatically:
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
$sData_Dual = "|Setup|Mode-Dual|Copy|Filter" ; Note leading "|"
$sData_Single = "|Setup|Mode-Single|Copy|Filter"
$hGUI = GUICreate("Test", 500, 500)
$cCombo = GUICtrlCreateCombo("", 10, 10, 200, 20)
GUICtrlSetData($cCombo, $sData_Dual)
$fDual = True ; Set a flag
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $cCombo
Switch GUICtrlRead($cCombo)
Case "Setup"
MsgBox($MB_SYSTEMMODAL, "Selected", "Setup")
Case "Copy"
MsgBox($MB_SYSTEMMODAL, "Selected", "Copy")
Case "Filter"
MsgBox($MB_SYSTEMMODAL, "Selected", "Filter")
Case Else
$fDual = Not $fDual ; Toggle the flag
If $fDual Then
GUICtrlSetData($cCombo, $sData_Dual)
Else
GUICtrlSetData($cCombo, $sData_Single)
EndIf
EndSwitch
EndSwitch
WEnd
M23