Seguindo seu próprio exemplo:
Dim X As Integer, wSql As String
wSql = " SELECT * FROM CadastroLote "
For X = 1 To List1.ListCount
If X=1 Then
wSql = wSql & "WHERE CadastroLote.Lote Like """ & List1.List(X) & "*"""
Else
wSql = wSql & " Or CadastroLote.Lote Like """ & List1.List(X) & "*"""
End If
Next X
Qd.SQL = wSql
se voce quer listar lotes que obedeçam pelo menos um código da listbox use OR, se quer listar somente os que obedeçam todos os códigos da listabox use AND. Espero ter ajudado.