Lässt sich die Sprachausgabe nicht asynchron starten? Also vor der MessageBox.
Oder die Sprachausgabe in einen Thread.
Bzw. die
WinAPI (MessageBox) lässt sich auch in einem Thread anzeigen. (die
VCL ist nicht threadsafe)
Oder PostMessage bzw. ein Timer, was später, in der Messagebehandlung der MessageBox, startet
Oder ...