That is quite a change.
Could I suggest some changes?
Maybe an indication to the user when the listbox is populated.
Also silence the screenoutput for GetDefaultPrinter().
Code:

$Form.Center
$Form.Show

$RC = GetDefaultPrinter()
EnumPrinters()

$Instructions.Text = "Your printers are listed. Now you can add extra printers and change the default."

While $Form.Visible
$nul = Execute($Form.DoEvents)
Loop
Exit 1


The ListBox does not get populated because $Listbox2 is being referenced.
Code:

$GetDefaultPrinter = Join(Split(ReadValue("HKEY_USERS\"+@sid+"\Software\Microsoft\Windows NT\CurrentVersion\Windows","Device"),',',1),'')
$Listbox2.additem("Default Printer = "+$GetDefaultPrinter)
;Create blank space between default printer listing and the listing of all printers.
$Listbox2.additem("")
...
$Listbox2.additem("Printer = "+$printer)