Und Application.ProcessMessages hilft dir auch nicht?
Sicherlich nicht in dem Fall, da es sich ja um eine lange Abfrage handelt, aber normalerweise macht man solche Abfragen in einem Thread.
Man kann ja mit WaitForSingleObject oder ähnlichen Methoden warten bis die Abfrage fertig ist, dann braucht man auch keine große Synchronisation, wenn man das gut genug kapselt. Man kann dann aber an der Stelle immer 100 Millisekunden oder so als Timeout nehmen und warten und dann Application.ProcessMessages aufrufen bis der Thread fertig mit dem Laden ist.
Wie man das an der Stelle konkret machen kann um das threadsicher zu implementieren lässt sich so allgemein schlecht sagen.