Notice that the code for
The problem is you are not sending it a Ray with a normalized direction. Whenever you do intersection tests with a ray, make sure you use a normalized ray. The Ray you get from DisplaySystem.getPickRay is normalized by default.
Thanks Renanse, works like a treat