only that a specific bit be 0.
This is important. Let's see, what you calculated (with 8 bit numbers for simplification):
8 = 0b00001000
~8 = 0b11110111
So, what do these bitmasks test if you BITWISE AND them with another value? The first mask tests if bit "8" is set. The second mask tests if all other bits are set. But this is not what you intended, you wanted a negation of the whole statement. Which is easy:
select count(*) from mytable where (outageMask & 8) = 0;