heretic_monster antag datums nulled their own owner before calling code that relied on them having an owner to function. This has been fixed. Antag datum subtypes should not be modifying their own owners. Leave that to the parent code.
This could lead to situations where a mind has null antag datums sitting around in its list of antag_datums. This has also probably been fixed.
There are various checks dotted throughout the code to check if antag datums have owners. Most would either return early, continue in a for loop or silently skip over it. Antag datums should never be without an owner. These have all been removed.
When an ownerless antag datum is detected, it should not die silently. It should die loudly and proudly, declaring that something, somewhere went wrong and that there is a willing and necessary martyr to the cause of addressing WHY something runtimes instead of just having it silently skipped over.