hehe cool, I made the Custom Movement Behaviour and its great to see it works so accurately! The ball movement was written a year ago and seeing as the code in CMB appears to work better for bouncing we'll probably end up incorporating the new code into the Ball Movement so it bounces as expected.
I'd recommend using the CMB over the bouncing ball because it has more functionality and I plan to add more actions to do easy stuff like gravitationally pull an object towards another object or position etc.
If you tick the 'rotate object' option, you can use Sprite.Angle to get the angle of motion. Otherwise, you will need to do something like this:
angle(0,0,Sprite[Ball].VectorX, Sprite[Ball].VectorY)
to get the angle out of the x and y components, which is rather ugly
As for teaching your students, maybe it can be a valuable lession not to judge something by its name. Just coz a program is called 'FPS Creator' doesn't mean its the best program to use if you want to make a 3d first person shooter. Although I agree a bouncing ball should bounce at least as well as the custom movement behaviour.