Looking at SKernel_Sim.cpp line 572. There is no check here to see if the attack was ineffective (Dam < max_shield /100.0f && obj->Shield > 0). According to http://board.ogame.org/board703-miscellaneous/board156-archive-version-2-0/board705-help-questions-archive/board631-faq-s-guides/167079-how-a-fight-works, a ship can not explode from an ineffective attack. Also according to the same source the comparison should be "obj->Life < 0.7f ..." not "obj->Life <= 0.7f".
Do you have another source that contridicts this?
Do you have a good example report?