Ok identified the problem. It appears functions which return values can only be called inline while ones without returns can only be called via actions. That makes sense. So the function in question couldn't be called not only from within itself but also from anywhere else in the project.
However, it's still a bit confusing. The function had an in-line reference to it somewhere in the project but I deleted the set return value action from it. Therefore there was no immediate indication that this was still a returning function; and on top of that even upon editing it I couldn't set return to none (choice grayed out). Once the inline reference was deleted I could change to none and the function became available for calling in actions.
Ashley I suggest adding some kind of an indication to distinguish between returning and non returning functions or a persistent warning if a function is called inline but there's no set return action in it.