Ok, I have reimplemented OleCreatePropertyFrame() from scratch. There is no code from Hidenori's patch in mine, nor did I use it as a reference (though of course I can't claim that I didn't learn anything from his patch during my previous cleanup)
Would someone mind reviewing this for style/content? I still have no idea how to write a test for a modal dialog, so if a test is required for submission, I'd really appreciate someone giving me pointers on how to go about it.
There are some features I didn't implement because I didn't really understand MDSN sufficiently (specifcially the IPropertyPageSite stuff), but it is mostly complete.
.Geoff