The following modification of the procedure given earlier computes f(b,S) using the same idea that each fixed pair of values of (b,S) generates a solution satisfying the first three boundary conditions. If the condition f(b,S)=b*S/2 is then imposed, a curve in the bS plane is generated. So, is S an arbitrary parameter whose value you are seeking, or is it a fixed and known number? If it is parameter, then a curve results. If it is a fixed number, then there is a unique value of b that satisfies all the conditions of the problem.
I graphed the surface f(b,S) and superimposed the surface defined by b*S/2. These two surfaces intersect in a curve in space, whose projection onto the bS-plane contains an infinite number of (b,S) pairs that satisfy the ODE and the conditions imposed. (I found that the ranges b in [0,1.5] and S in [0,2] generated points for which f was positive.)
Now look at your specific questions. You ask for a graph of f(b) vs the *parameter* S. If S is a parameter in the ODE, then the solution of the ODE is a function of both b and S, so consider that it is f(b,S), not f(b). What does it mean to graph f(b,S) against S? The graph of f(b,S) over the bS-plane is a surface. It's not clear to me what it is you want here.
Similarly, what does f"(0) mean in the context where S is a parameter? As soon as S becomes a free parameter in the ODE, the "solution" f becomes a function of both b and S, not just b alone. A clarification in the question would help here.