Casting fails, yet same casting elsewhere in BP Works

In my player blueprint I extensively use casting to a parent weapon blueprint to pass information between, and every single instance works, except this one.

Here I am simply casting to a fire function within my Weapon Parent BP

http://i.imgur.com/ZCWfW7K.png

And here is in the same event graph of my player blueprint casting to the same weapon blueprint.

http://i.imgur.com/s885n8n.png

Yet every single time it fails to cast, printing the “Hello”. Any ideas as to why this is happening?

Maybe the variable isn’t populated, returning a null pointer.
Must check how Weapon is initialized and if nothing changes it; if nothing ever change the actor, you need to cast only once btw.

Well I need to cast multiple times because these are all in different functions and events that run at different times. Ill see about the populated variable.