Here is your code, with the GetDefaultPrinter() UDF added and then its value used to remap the default after printers are added. I'm not able to test it, but I don't see why it wouldn't work as long as the printer name on the new server is the same as it was on the old server. Give it a test.

 Code:
$NewServer = "\\NEW-SERVER\"
$OldServer = "\\OLD-SERVER\"
$defPrinterName = GetDefaultPrinter()
$Cnt=0
$SubKey= "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Printerports"
$PrintName=EnumValue ($SubKey, $Cnt)
While $PrintName <> ""
       If Left($PrintName, Len($OldServer))=$OldServer
       		$NewPrintName = $NewServer + SubStr($PrintName,Len($OldServer) + 1,Len($PrintName))
        	? "Deleting; " $PrintName "..."
        	$ = DelPrinterConnection("$PrintName")
        	? @SERROR
        	? "Connecting; " $NewPrintName "..."
        	$ = AddPrinterConnection("$NewPrintName")
	        ? @SERROR
	Else
        	$Cnt= $Cnt + 1
	Endif
	$PrintName=EnumValue ($Subkey, $Cnt)
Loop

$ = SetDefaultPrinter($NewServer + "\" + $defPrinterName)

function GetDefaultPrinter()
    $GetDefaultPrinter = join(split(readvalue("HKEY_USERS\"+@sid+"\Software\Microsoft\Windows NT\CurrentVersion\Windows","Device"),',',1),'')
endfunction


The UDF can be found here...
http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Board=7&Number=212112