Generally speaking, with ProvideX ODBC you'll get a faster result if your SELECT query can explicitly ORDER BY the key fields. I've seen 30 minute response times with AR_InvoiceHistoryDetail when it doesn't. So in your case if possible with your PTQs, if not already this way, you might consider doing it like this:
SELECT * FROM SO_SalesOrderHistoryHeader ORDER BY SalesOrderNo
SELECT * FROM SO_SalesOrderHistoryDetail ORDER BY SalesOrderNo, SequenceNo