Tres cosas:
1. Las condiciones por OR es mejor que se consideren atómicamente, para evitar resultados erráticos:
2. Fíjate si es realmente necesario que traigas todos los campos en la consulta. Por cuestiones de eficiencia, es mejor indicar los campos que realmente se usan, y no hacer un "
SELECT * ...".
3. Si tienes tantos campos que pueden quedar NULL, yo pensaría que tienes un problema de validación de datos en el formulario de ingreso. ¿No sería mejor evitar que ingresen registros con tantos datos faltantes?