というか 作業スレッドでMessageBoxを直接使う設計がまずマズイんじゃないの?
GUI関係はメインスレッドにお願いするような設計にするべきでしょう

エラーとかステータスは、DLLからコールバックさせて、コールバック内で
SendMessage/PostMessage するのが普通だと思うけどな