This is a very hold thread but can you explain how you did the following:
"workarounds to pull the data (things like "score changed from less than MQL to more than MQL")."
How did you calculate when score changed for a group of leads?
I don't think there is a way to systematically capture something like "tell me all the times when score changed from less than MQL to more than MQL."
Instead I focus on any of the field you may be updating when the score hits MQL. Maybe you're changing the Lead Status, or checking the MQL checkbox - or in some other way capturing the event. That's where I would look for the date information.