http://www.iphonedevsdk.com/forum/iphone-sdk-development/12211-drawrect-not-called-after-setneedsdisplay.html
I have the same problem and fixed it now. The reason is that in the function awakeFromNib, I create a new OpenGLView object, and so the IB-wired view is no longer the view responsed to the controller.