現象確認しました。
ソース見てみました。
「hima_function.pas」で、三択は「sys_yesnocancel」、二択は「sys_yesno」という関数が定義されているようです。
この2つを比較してみると、下記の部分が異なることがこの件に影響しているのではないかと思います。
【sys_yesno】
ret := MessageBoxA(hima_function.MainWindowHandle, PAnsiChar(str), PAnsiChar(cap), MB_YESNO);
【sys_yesnocancel】
ret := MessageBoxA(MainWindowHandle, PAnsiChar(str), PAnsiChar(cap), MB_YESNOCANCEL or MB_ICONQUESTION);
「sys_yesno」では「hima_function.MainWindowHandle」となっているところが、「sys_yesnocancel」では「MainWindowHandle」となっています。おそらく、これを
「sys_yesno」と同様に「hima_function.MainWindowHandle」に変更することで、三択の際にも、二択と同様に、ダイアログボックスが母艦の中心に表示されるようになるのではないかと思います。