The null value of Yes/No can be problematic but for different reasons to your testing.
This is only testing if the attribute does not equal one state: NOT zero
1 is NOT zero, but NULL is also NOT zero.
If you want to search for Yes values and you allow NULL as a response option then you have to be explicit in that Yes/No attribute = ‘Yes’
I have found that searching for No can be problematic (for reasons that I can’t remember at the moment ) but it has required me to set the preferred default value to overcome.
UPDATE - Obviously once you set the Yes/No you lose the opportunity for NULL, that is to say, without running a process to set Yes/No to UNDEFINED, you can never change Yes to NULL only to No.