1. one of your buttons is tagged as "ok cancel" - a button is either ok, cancel, or neither, but not both.
2. if you want the stuff you added to be saved, you need to manually save it. The following will save the lines in a textfile when you hit the CLOSE button. It will save in reverse order, but since your box is sorted anyway, that doesn't matter.

Code:
[color:green]; when you click on the CLOSE button[/color]
on *:dialog:comby:sclick:1: { 
  [color:green]; find out how many entries there are;[/color]
  var %i = $did(comby,4).lines
  [color:green]; read from line last backwards[/color]
  while (%i) {
    [color:green]; write the line to file, make sure it's not empty![/color]
    if ($did(comby,4,%i).text) write [color:blue]filename.txt[/color] $did(comby,4,%i).text
    dec %i
  }
}


You will however, if re-opening the dialog you want the stuff to be displayed, need to reload:

Code:
[color:green]; when you open the dialog GUI[/color]
on *:dialog:comby:init:*: { 
  [color:green]; if your saved file exists[/color]
  if ($exists([color:blue]filename.txt[/color])) {
    [color:green]; find out how many lines there are[/color]
    var %i = $lines([color:blue]filename.txt[/color])
    [color:green]; and write them all[/color]
    while (%i) {
      did -a $dname 4 $read([color:blue]filename.txt[/color],%i)
      dec %i
    }
  }
}