Here's my current test for the adjusting of the normal for bouncing:
https://dl.dropboxusercontent.com/u/542 ... oTest.capx
You can drag everything around, and the red line is the visual normal and the blue line is the the corrected normal.
The issue as you describe is when the angle the balls travel are perpendicular to the blue normal. Which would mean it's there is no perpendicular motion to reflect so it doesn't bounce.
Mid typing this I re-uploaded the file with an idea that seems to work. It takes both the surface angle and the angle of the ball and doubles the y component before calculating the bounce. Then it halves the y component of the resulting angle.
So if you end up using the normal from the ray caster plugin just add or subtract 90 (it doesn't affect the math) from that the get the surface angle.