yes, it can be frustrating to use for the points mentioned above.
I had been trying to get some raytracing working, and it was very particular in the way it needed to be setup..
I found out that you can only project a ray against a q3dModel. You can't project it against a q3dSprite. You also can't pick a basic geometry that is created with the q3dMaster.
You have to set the Model Fit property to Unaltered (it auto sets itself to Fit).
I also had to rotate the model 180 in the Y axis so that the mesh faces were facing the camera (the ray won't hit if the faces are facing away).
You also must use a q3dViewport.
You must have two events:
q3dViewport-> Pick q3dModel by intersecting projected Ray. Here you can retrieve data from the intersection and put it into variables.
q3dRaycast-> Raycast and loop over picked q3dModel intersected.
Note that you must have that raycast event otherwise the first event won't have any data to retrieve.
I had to figure all this out on my own since these things weren't explained anywhere.