Basic function call on init failing

I am going to suggest that what you are doing is overly complex, at least insofar as I understand you.

You can determine whether your shortcode has been registered using the Core function shortcode_exists, which returns a boolean. As far as I can tell, using that should provide completely equivalent functionality to your code above.