The logic as it existed previously was:
   if(config.win && config.net.setup != NS_DHCP) {
    if((config.net.setup & NS_DHCP)) {

To me it seems that the previous logic was this (leaving out config.win):
Is the only bit set to 1 in config.net.setup NS_DHCP?
If yes, set rc=YES and continue to line 225.

Is the NS_DHCP bit is set?
If no  then set rc=NO and continue to line 225.
If yes, then ask the user in a dialog if they want to use DHCP or not, then continue to line 225.

Now I'm adding two more checks to the second:
If yes, then is this a layer2 device and NOT a point to point device?  If no, then set rc=NO and continue
If yes, then bring up the dialog to ask the user.

Do you see it the same way?