I agree with kristi, you should use bit-wise operators when working with bitsums. Yes, a direct == will work, but it's more proper to check the specific bit(s) you're looking for. If you are checking for multiple bits then you need to use equals on the result of the operation, such as: if ( ( BitSum & ( FLAG_1 | FLAG_2 ) ) == ( FLAG_1 | FLAG_2 ) ). This will ensure the result includes both bits, not only one or the other.
Also, 0100 is 4, 0010 (1<<1) is 2.
So to check for only bullet damage, if ( damagebits & DMG_BULLET ) is good.