A distanza di settimane torno sul problema: nel modo che ho scritto non sempre funzionava, a volte si accedeva anche con passwords sbagliate, ho risolto utilizzando il protocollo LDAP anzichè il WinNT, questo è il codice:

codice:
'Spuntare la reference a: Active DS Type Library
'Specificare il dominio a cui appartiene l'utenza (se è in locale solitamente è il nome del computer)
Private Function AuthWinUser2(ByVal pDomain As String, ByVal pUser As String, ByVal pPassword As String, ByRef outError As String) As Boolean
    On Error GoTo Err_AuthWinUser2
    
    Dim dso         As IADsOpenDSObject
    Dim domain      As IADs
    
    'Resume Next
    'Creo il container
    Const ADS_SECURE_AUTHENTICATION = 1
    Set dso = GetObject("LDAP:")
    Set domain = dso.OpenDSObject("LDAP://" & pDomain, pUser, pPassword, ADS_SECURE_AUTHENTICATION)
    
    AuthWinUser2 = True
    


Fine_AuthWinUser2:
    Set dso = Nothing
    Set domain = Nothing

    If Err.Number > 0 Then
        outError = Err.Description
    End If
    Exit Function
    
Err_AuthWinUser2:
    Select Case Err.Number
    Case -2147023570
        MsgBox "Utenza sconosciuta o password di dominio non corretta", vbExclamation, "Login fallito"
        GoTo Fine_AuthWinUser2
    Case -2147467259
        MsgBox "Dominio sconosciuto!" & vbCrLf & vbCrLf & " Descrizione tecnica:  " & Err.Number & " " & Err.Description, vbExclamation, "Login fallito"
        GoTo Fine_AuthWinUser2
    Case Is < 0
        MsgBox "ATTENZIONE - Non siete stati riconosciuti" & vbCrLf & vbCrLf & " Descrizione tecnica:  " & Err.Number & " " & Err.Description, vbExclamation, " Attenzione! "
        GoTo Fine_AuthWinUser2
    Case Else
        MsgBox "Function AuthWinUser2 - Errore N°:  " & Err.Number & "  - Descrizione:  " & Err.Description, vbExclamation, " Attenzione! "
        GoTo Fine_AuthWinUser2
    End Select
    Resume
End Function
PERO! Porca pupazza funziona solo su windows 2000! Su Windows NT no!
Ho letto dal sito microsoft che in NT mancava l'adsi percui l'ho scaricato ed installato ma non cambia nulla, ho controllato i servizi di NT ma non capisco se ne manca qualcuno indispensabile... non so più cos'altro provare

edit: l'oggetto domain è un IADS non un IADSdomain, così infatti da un type mismatch, stavo facendo delle prove.