The QueryEvents method uses the default collector, and on there the window size if limited to a specific number (1000).
So you always get the last 1000 events.
If you set up an EventHistoryCollector, you can use the ReadNextEvents or ReadPreviousEvents methods to move your "window" over the entire collection.
See my Get-VIEventPlus function in my Get the vMotion/svMotion history post for an example on the usage of these methods.