Your S-Matrix seems fine.
When you say real, is it |Re[function]| or Abs[function] (ie, Re[x+ iy] = x, Abs[x + iy] = [tex]\sqrt{x^2 + y^2}[/tex])?
I worked out a solution in Mathematica, using a slightly different method (basically equating all boundary conditions) and forming the equation
[tex]Tan(k L) = Something Horrible[/tex]
[tex]k = \sqrt{{\frac{\hbar^2 E}{2m}}}[/tex]
From what I observe, the 0 at the origin is a mathematical artifact that comes from dividing by 0.
[tex]Something Horrible = \frac{Something_a}{\frac{Something_b}{0} + Something_c}[/tex]
Additionally, I found it necessary to choose a value for [tex]V_0[/tex] in the form:
[tex]z_0 = \sqrt{\frac{2 m V_0 L^2}{\hbar^2}}[/tex]
Does the question indicate what [tex]V_0[/tex] should be, or am I mistaken?
There will be a minimum of one bound state. The maximum number of bound states (zero crossings) depends on how large [tex]V_0[/tex] is.
I think your plots are alright. The only thing to note is that in your first plot [tex]\alpha = 1[/tex], it appears that there are two crossings. If you reduce your scale, I think there's a chance that the line at 4 approaches the x-axis closely,but doesn't actually touch it.
This would explain why that there's only one crossing for the other alphas.
Furthermore, depending on how you implemented the boundary conditions, the S matrix will not be valid beyond a certain energy for the excited states - that energy being [tex]\alpha V_o > E > V_o[/tex], which represent plane waves extending from -infinity and being reflected off the [tex]\alpha V_o[/tex] barrier, while [tex]E > \alpha V_o[/tex] would just give plane waves from +-infinity