The comparisons you are making are based on strings, which is less than ideal for IP Address comparisons. There are several UDFs that will convert the IP address and subnet start/end values to a number to perform a direct numeric comparison.

The code below uses one such UDF, and I confirm that it works using my subnet ranges. This is also a simpler configuration as you just use "If InSubnet", passing the local IP address and the network address/mask value. Also, the updated code below only performs the test (Select/Case) if the IPAddr variable contains data. Further, using the IPAddr variable achieves two goals - the EnumIpInfo function is only run once per loop instead of 6 times, and you can then display the variable being evaluated in debugging.
 Code:
For $NIC = 0 to 5
  $IPAddr = EnumIPInfo($NIC,0, 1)
   If $IPAddr
    'Checking ' $IPAddr ?
    Select
     Case InSubnet($IPAddr, '172.16.32.0/22')
      $loc = "sch"
      ;Call "sch.kix"
     Case InSubnet($IPAddr, '172.16.40.0/22')
      $loc = "nam"
      ;Call "nam.kix"
     Case InSubnet($IPAddr, '172.16.44.0/22')
      $loc = "gut"
      ;Call "gut.kix"
     Case InSubnet($IPAddr, '172.16.12.0/22')
      $loc = "ITCG"
    EndSelect
  EndIf
Next
'loc: ' $Loc ?
Exit

;;
;;======================================================================
;;
;;FUNCTION       InSubnet()
;;
;;ACTION         Determines if a specific IP address is in a subnet
;;
;;AUTHOR         Glenn Barnas
;;
;;VERSION        1.0 / 2008/01/20
;;
;;SYNTAX         InSubnet(Address, Network)
;;
;;PARAMETERS     Address - REQUIRED, IP address in dotted-decimal (w.x.y.z)
;;
;;		 Network - REQUIRED, Network in CIDR format (w.x.y.z/mask)
;;
;;REMARKS        
;;
;;RETURNS        1 if ip address is in the defined subnet, 0 otherwise
;;
;;DEPENDENCIES   none
;;
;;TESTED WITH    W2K, WXP, W2K3, Vista, X64
;;
;;EXAMPLES       If InSubnet('192.168.12.243', '192.168.8.0/21')
;;		   'Is in subnet!' ?
;;		 EndIf
;
Function InSubnet($_IPAddr, $_Network)

  Dim $_aAdd				; array of address values
  Dim $_Mask				; Mask value
  Dim $_Hosts				; hosts in subnet
  Dim $_I				; Index counter

  ; Convert the supplied IP address to a double value representing the decimal address
  $_aAdd = Split($_IPAddr, '.')
  If UBound($_aAdd) <> 3
    Exit 87			; invalid data passed
  EndIf
  $_IPAddr = (CDbl($_aAdd[0]) * 16777216.0) + (CDbl($_aAdd[1]) * 65536.0) + (CDbl($_aAdd[2]) * 256.0) + (CDbl($_aAdd[3]) * 1.0)

  ; Convert the network from a w.x.y.z/mask format to a decimal value
  ; this is the starting network address value
  $_Network = Split($_Network, '/')
  $_Mask = Val($_Network[1])
  $_aAdd = Split($_Network[0], '.')
  $_Network = (CDbl($_aAdd[0]) * 16777216.0) + (CDbl($_aAdd[1]) * 65536.0) + (CDbl($_aAdd[2]) * 256.0) + (CDbl($_aAdd[3]) * 1.0)

  ; Set the number of hosts in the defined network
  $_Hosts = 1.0
  For $_I = 31 to $_Mask Step -1
    $_Hosts = ($_Hosts * 2.0)
  Next

  ; return the value 
  $InSubnet = 0
  If $_IPAddr >= $_Network And $_IPAddr < ($_Network + $_Hosts)
    $InSubnet = 1
  EndIf

  Exit 0

EndFunction
Glenn
_________________________
Actually I am a Rocket Scientist! \:D