This Problem seems to be like one I had myself.
Recently I heard that some tables in Salesforce are archived by Default, among them Event.
The Solution in the Connector is to change the parameter QueryMode from Query to QueryAll. That causes the Query to fetch all Records from Event, also archived and deleted. It did the Trick for me.
I hope this will help You too.
So, Yes sorry I had the answer: this is a non-QV issue.
SalesForce has an auto-archived function. When you load data from other ways SF knows it has to search in archived tables. But connector load only actual non-archived data.
My customer asked SF to get in this "event" table an history of #Years.
Your solution seems better.
Your right. This is a Saleforce issue but You can actually deal with it in the Connector.
To the Salesforce API you can send the parameter ”ALL ROWS" to fetch all rows. That parameter is what QueryAll sends to the API from the Connector.
I didn't know about this auto-archive function i Salesforce until just the other Day. Our Salesforce consultant knew about it and the parameter. He also told that the function by default archives records older than one Year but that You can change that somewhere in the Settings. We have older than 3 Years.
All the Best