Solved! Problem is that the cast is being triggered on the overlap event so therefore the overlapped enemy is returning as ‘none’ when attacking. Fix is to promote the Basic Enemy to a variable and set that variable every time the overlap event is triggered, and then get the variable for when it is required in the attack event. Thank you so so much to @VisAgilis for the help it is really appreciated!
(This method also works with the destroy node BUT I have edited that so that it now deletes all of the enemy actors within the hitbox, also thanks to @VisAgilis)