To resolve this problem, apply the hotfix rollup package that is described in the following Microsoft Knowledge Base article:
955151 Description of the ISA Server 2006 hotfix package: July 6, 2008
 Post-hotfix installation information
After you apply this hotfix, you must run the following Microsoft Visual Basic script to enable the hotfix.
Note You must run the script on the server where you have installed the hotfix. For an ISA Server 2006 Enterprise Edition, you must do this on the Array Server and not on the Configuration Storage Server (CSS) if the CSS is installed on a separate server.  
- Click Start, point to Programs, point to Accessories, and then click Notepad. 
 -  Copy the following code, and then paste the code into the Notepad file.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "AnonymousIfUserContextFailed"
Const SE_VPS_VALUE = true
Sub SetValue()
    ' Create the root obect.
    Dim root  ' The FPCLib.FPC root object
    Set root = CreateObject("FPC.Root")
    'Declare the other objects needed.
    Dim array       ' An FPCArray object
    Dim VendorSets  ' An FPCVendorParametersSets collection
    Dim VendorSet   ' An FPCVendorParametersSet object
    ' Get references to the array object
    ' and the network rules collection.
    Set array = root.GetContainingArray
    Set VendorSets = array.VendorParametersSets
    On Error Resume Next
    Set VendorSet = VendorSets.Item( SE_VPS_GUID )
    If Err.Number <> 0 Then
        Err.Clear
        ' Add the item.
        Set VendorSet = VendorSets.Add( SE_VPS_GUID )
        CheckError
        WScript.Echo "New VendorSet added... " & VendorSet.Name
    Else
        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)
    End If
    if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
        Err.Clear
        VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
        If Err.Number <> 0 Then
            CheckError
        Else
            VendorSets.Save false, true
            CheckError
            If Err.Number = 0 Then
                WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
            End If
        End If
    Else
        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
    End If
End Sub
Sub CheckError()
    If Err.Number <> 0 Then
        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
        Err.Clear
    End If
End Sub
SetValue
 - Save this file as AnonymousIfUserContextFailed.vbs.
 - To run the script, double-click the .vbs file that you saved in step 3.