This is something that has caused me endless grief for years on end during my modding career, and I don't understand why do I have to be the one who has to constantly add null checks after every single call to DamageMobj in any piece of code.
The fact here is that the default actor class lacks a Death state, and thus any other actor that doesn't define one is erased instantly inside DamageMobj and all pointers to it are immediately invalid afterwards. THIS is a problem, especially if we're dealing with code that, for example, spawns blood effects or whatever after the damage has been dealt and needs to check certain flags on the actor such as NOBLOOD and whatnot. It's a serious problem, and if this is intentional, I cannot understand why.