You might have to create a 24bpp copy of the image first. Have you tried that?
I did something similar long ago (too long ago to recall details), this article was helpful: Bitonal conversion issues. There was also some info on MSDN forum.
EDIT: seen this entry?