I think you misunderstood what VBO is. A single VBO shouldn't store the entire scene data (unless you have a pretty simple scene).
Correct usage of VBO would be:
- At application load time, create and initialize a VBO per object.
- At you render loop - the VBOs are already initialized, just bind them, set the correct render state and draw. No need to reload the vertex data.