Hola basura1973:
En realidad la consulta es correcta, sin embargo hay algunos detalles que debes considerar.
1. Como buena práctica, trata de evitar los SELECT * en tus consultas, en lugar de esto lista todos los campos que realmente vas a necesitar. Incluso si fuera el caso y en realidad necesitas TODOS los campos de tu tabla (cosa que muy rara vez ocurre) es mejor listar la totalidad de los campos a poner el comodín asterisco (*).
2. Mucho ojo con el operador XOR, ya que no es lo mismo que el operador OR... no sé como tienes organizados tus datos, pero si fuera el caso y tanto tu campo USUARIO como tu campo LOGIN tuvieran el mismo valor, el resultado de XOR es FALSO (Sería algo como en el primer caso de este ejemplo):
Observa la diferencia con el operador OR:
3. Finalmente, dado que estás utilizando variables para construir tu sentencia SQL, debes verificar antes que estas tengan un valor, de lo contrario el resultado puede ser incierto.
Saludos
Leo.