I took a look at the page and I think the problem may just be the placement of the if statements. Rather than trying to get the if statements in the correct location through trial and error it may be easier to just update the first DASearch server behavior that you have on the page. You can use a ternary expression to switch the 'OR' and 'AND' separators. In the page that you posted you could do this by changing lines 51-57 to be like this:
$WADbSearch1->addComparisonFromEdit("StateOccVisaID","S_StateOccVisaID",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=",1);
$WADbSearch1->addComparisonFromEdit("ASCO","S_SOVOccupationID",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","Begins With",0);
$WADbSearch1->addComparisonFromEdit("SOVStateID","S_SOVStateID",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=",1);
$WADbSearch1->addComparisonFromCheck("V176","176","Yes","",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=","=",0);
$WADbSearch1->addComparisonFromCheck("V886","886","Yes","",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=","=",0);
$WADbSearch1->addComparisonFromCheck("V475","475","Yes","",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=","=",0);
$WADbSearch1->addComparisonFromCheck("V487","487","Yes","",(isset($_POST['All']) && $_POST['All'] == 'Yes')?"OR":"AND","=","=",0);
What I did was replace the "OR" part of the original code with a check for the checkbox. If it is set and has a value of 'yes' then the expression will be true and "OR" will be used. If the expression is false then the "AND" will be used.
I think this is a simpler and easier method than using the if statements, sorry for not suggesting this way from the beginning. If you do it like this you can get rid of the second Search server behavior as well as your custom if statements. Please give this a try and let me know if you need any further help with it.