The problem with GL12.glDrawRangeElements(mode, start, end, index-buffer) is that it send the index buffer each time you call it. While GL12.glDrawRangeElements(int mode, int start, int end, int indices_count, int type, long indices_buffer_offset), the index buffer is send only once (at the loading of the models).
Assuming you are using a index buffer (as opposed to a vertex array) for your indices they will only be uploaded once when you call glBufferData(), that's the whole point of VBOs - or am I missing the point?