Egal ob das Completed-Event mit SendMessage oder PostMessage abgesetzt wird, die Message muss sich doch hinter alle Fortschrittsmeldungen einreihen und wird dadurch auch erst abgearbeitet, wenn die ProgressBar schon auf 100% steht. Am Ende eines Threads dürfte es ja wirklich keinen Unterschied mehr zwischen einem synchronen und asynchronen Aufruf geben.