Ok, thanks for the overview.
Is it right that your class cGLView does not override the BView hook functions, such as MouseDown() and MouseMoved()? In that case, it's not a bug, it's expected.
Certain system-sent messages -- such as the mouse move events -- are handled specially in BWindow and will not result in a call to the Window's or View's MessageReceived(). Instead, the appropriate hook method is called on the BView. So if you want mouse move events, you need to implement the virtual method cGLView::MouseMoved().
For more information, see "From Looper To Handler" in the BeBook Messaging documentation:
Especially the part titled "Finding a Function" is relevant here, although the entire document is very much worth a read if you want to know more about how the messaging really works in Haiku.
For an overview of overridable event hook methods offered by BView, see:
Oh, and about the GLTeapot... I looked into it, and yes, moving it around with the mouse is currently broken with the Mesa on Haiku x86_64 (works fine on x86_gcc2 and x86_gcc5, which both have older Mesa versions). However, this is unrelated to event handling... the mouse events arrive in its ObjectView::MouseMoved() just fine, it's the hit-testing done then which is broken. GLTeapot does it by drawing the various teapots (you can have more than one) in a number of colours using flat shading and no lighting, then it reads the pixel at the mouse cursor using glReadPixels() and finds out which teapot (if any) was clicked, based on the pixel's colour value. However, in x86_64 Haiku, the glReadPixels() always returns colour (0, 0, 0) for some reason. Maybe something broken in our Mesa-Renderer add-on, or maybe it's its OpenGL code (GLTeapot is based on BeOS sample code written in 1999, although with newer parts too) which isn't quite compatible with the latest version... I don't know. Unfortunately I currently know way too little about OpenGL to find out what's wrong there.