I'm not opposed to your fix, not at all. I just would like to understand better what is the real problem with our code. If you, or somebody else, could confirm (by a test case) that exactly (MFT_BITMAP | MFT_SEPARATOR) combination should be rejected then I'll vote for your patch.
Reading about the MENUITEMINFO structure. Take from MSDN The MFT_BITMAP, MFT_SEPARATOR, and MFT_STRING values cannot be combined with one another.
Hope this helps Alistair