Custom collision channel stopped working when adding a BP Implementable event to base c++ class

After adding a BP Implementable event to the base class for all units in the game, the custom collision channel, that worked 2 hrs before, stopped working and required rebuilding all the unit BPs from scratch. What the hell happened!?!?

Background:
We have 18 units based off of the base class ACWUnitBase in c++ code. We made no changes to the collision channels. After adding a UFUNCTION(BlueprintImplementableEvent, Category = HeatlhAndArmorStatus) void OnReceiveDamageEvent(float NewHealth, float New Armor) and adding an override to one unit bp, we noticed our projectiles no longer collided with the tested unit. Checking other units that had had no changes at all made to them, verified that no unit bp based on ACWUnitBase had projectile collisions or if overlap/collision did occur the the unit bp had mesh render errors when the projectile passed through the object. After thoroughly checking no changes had been made to the collision channels on accident, we rebuilt the entire project and still had no projectile collision. We created a test unit from scratch with the exact same settings as the original unit and the collision works as intended.

Does anyone have any idea what just happened to our project as we now have to rebuild 18 unit BPs to get collision working for some completely unknown reason? Or is this just one of those ever so wonderful Unreal Engine BP error that happen at completely random?

Update:
After creating the clean bp based on ACWUnitBase and testing, the collision on the new bp worked as inteneded as mentioned. Through continued testing, we found that all of the other bp units suddenly started working again. Even ones the had not been changed throughout the process suddenly began to work again. At this point, we have implemented a custom channel specific to projectiles to hopefully avoid this issue again but with this engine who really knows what will happen.