Generaly, this kind of problem can be solved using breakpoints and stepping through your code. Have you done that? :?

I might have missed it, but what code do you use to utilise this class? You can expiriment with that a little bit. Just create the VBO and lock/unlock it without moving data. If that works, you can try to move data. If that works, it's probably the render method that bugs.

I alway's use these techniques to isolate bugs. Just make a simple testbed and call the routines you want to test.

Good luck!