One thing that pops in to my mind is trying to read in the local user's information if you are to run this Remotely. It is pretty easy to do a READVALUE remotely on HKLM, but HKCU is more painful from an Admin side as you have to know the SID..

I did clean up your code a bit too.
 Code:
 DIM $servername, $nk2, $profilepath, $searchstring, $sharepath, $programpath, $cmdstring, $runline, $cmdline
 ;
 ;Edit Variables
 ;
 $servername = @lserver
 ;For example $ServerName = "Server1" or "Server1.yourdomain.com"
 $nk2 = ReadValue('HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'AppData')
 $profilepath = $nk2+"\Microsoft\Outlook\"
 ;For example $ProfilePath = "%USERPROFILE%\Application Data\Microsoft\Outlook\Outlook.NK2", or "Null"
 $searchstring =
 ;-------------------------------------------------------------------------------------------------------------------------------------------
 ;-------------------------------------------------------------------------------------------------------------------------------------------
 $sharepath = "\\" + $servername + "\nk2view\"
 $programpath = $sharepath + "nk2view.exe"

 ;This section fills in the default NK2 path
 IF NOT EXIST($profilepath)
       $profilepath = "%USERPROFILE%\Application Data\Microsoft\Outlook\Outlook.NK2"
 ENDIF

 IF EXIST($nk2+'\Microsoft\Outlook\*.bak'+@YEAR+@MONTHNO+@MDAYNO+@TIME)
       RETURN ; RETURN maybe better than EXIT as RETURN takes you back to where left off
 ENDIF

 IF EXIST($nk2+'\Microsoft\Outlook\*.nk2')
       ;Searches for files ending with .NK2 and creates backup.
       MOVE $nk2+'\Microsoft\Outlook\*.nk2' $nk2+'\Microsoft\Outlook\*.bak'+@YEAR+@MONTHNO+@MDAYNO+@TIME
       $cmdstring = $programpath + "/nk2file " + $profilepath
       $runline = $cmdstring + " /delete " + $searchstring
       SHELL $runline
 ENDIF


HTH,

Kent
_________________________
Utilize these resources:
UDFs (Full List)
KiXtart FAQ & How to's