Thanks to some help I got on the UE forums, I scrapped the code entirely, instead writing a recursive function using physics materials and custom surfaces that allowed for multiple hits to each mirror.
As to your question yeah I had a feeling the isHit variable had something major to do with it, since it would be checking the mirror being hit twice, and replacing the line trace going to the mirror shooting back at it with the new line trace reflecting the mirror shooting back at it. If I stopped shooting, it would still be firing off a line trace from the effected mirrors, until I shot again.
This new way scraps all those concerns and even allows me to control how many total bounces there can be in the game.
Thanks for the suggestions mate!