>> フックを使うとプレースバーが表示されなくなってしまうようです。

古い OPENFILENAME の代わりに、FlagsEx が追加された新しい OPENFILENAME を使えばいいんじゃないかな(推測)。 #if (_WIN32_WINNT >= 0x0500) で囲まれてるやつ。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/commondialogboxreference/commondialogboxstructures/openfilename.asp