I'm developing a scanning app.
I'm setting PixelType
currentDevice.PixelType = PixelType.BW;
and it doesn't throw exception. But scanner uses its own settings (ie it scans RBG as it is set in its UI. I set ShowUI = false).
I've tried your WpfTwainAdvanced demo and I choose BW from the Pixel Type combo but it scans RGB.
Canon scanners have color auto detection feature and I think this feature is enabled in your scanner. Please open UI of scanner and disable the feature.