Strange, I would expect it should work.
- Are you sure you are in the groups you want the mappings for?
- Are you sure you flushed the tokencache?
- Are you sure you extended the $arrDrive with two more letters, S: and T:?
Maybe try a harder way to delete the tokencache: deltree
Maybe add some extra lines to debug the script
Start the code with:
kix32 code.kix /f
Code:

If NOT @LOGONMODE
Break On
EndIf

Dim $SO
;delete KiXtart Token Cache
$SO = DelTree("HKEY_CURRENT_USER\Software\KiXtart\TokenCache")

Dim $strShareRoot, $arrUnit, $arrShare, $arrDrive
$strShareRoot = "\\Server\"
$arrUnit = "_Prod", "_HR", "_AP", "_APSecr", "_FA", "Helpdesk", "_PZ", "_Dir"
$arrShare = "Prod$", "HR$", "AP$", "AP$", "Fin$", "IT$", "PZ$", "Dir$"
$arrDrive = "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:"

For $intUnit = 0 To Ubound($arrUnit)
If InGroup($arrUnit[$intUnit])
Use $arrDrive[$intUnit] /DELETE /PERSISTENT
Use $arrDrive[$intUnit] $strShareRoot + $arrShare[$intUnit]
Else
? "Not in group " $arrUnit[$intUnit]
EndIf
Next
Sleep 60


I hope this helps you finding where the errors are situated. Good luck!