I assume you triple checked your new settings on the DIP switch package, I know I've screwed up setting dip switches many times in my lifetime.

Its quite possible that the connections on the dipswitch package are bad, allowing it to function with one particular code and not another. For example, if position 4 has a bad connection and you have it set to off, it would work fine. But if you then turned it on, it would still read to the processor as off.