Okay so if I read the comments right, I think I have included the changes...

Someone want to test this?

 Code:
function ClientName()
  select
    case len(%clientname%)
      $clientname=%clientname%
    case InStr(@PRODUCTTYPE,"Server 2008")
      Dim $s_sessionid, $iIndex, $sessionid
      $s_sessionid = SubStr(%TEMP%,1+InStrRev(%TEMP%,"\"))
      While $s_sessionid <> ""
        $iIndex = InStr("0123456789ABCDEF",Left($s_sessionid,1))
        If $iIndex
          $SessionID = $GetSessionID*16+(Cint($iIndex-1))
          $s_sessionid = SubStr($s_sessionid,2)
        Else
          $SessionID = 0
          $s_sessionid = ""
        EndIf
      Loop
      $ClientName = ReadValue("HKCU\Volatile Environment\" + $sessionid,"CLIENTNAME")
    case InStr(@PRODUCTTYPE,"Server 2003")
      $ClientName = ReadValue("HKCU\Volatile Environment","CLIENTNAME")
    case 1  
      $ClientName = @WKSTA
  endselect
endfunction