I think this is a bug, and it's quite unbalancing as it prevents a tiny ship from dying in one blow from a big one, which means a lot of wasted firepower. When defense against a damage type is at least 1, it doesn't matter how strong the attack is, no HP will be lost (and defense will go negative)
This means that a 500-power laser attack against a 1HP/1Shield ship wiill still take the entire laser firepower 2 turns to destroy.
This means that a few tiny ships can and WILL take down a titan. This makes large ships quite a lot less useful...