Thanks Rick,
I've also noticed other problems with BMP codecs. I currently use 16 bit BMPs to save 12bpp mono industrial camera dark current images. Because Format16bppGrayscale does not get saved/restored correctly (grrrr!), I use Format16bppRgb565. Details in the header cause Explorer to think its a 32 bit file, even though the BitmapData format is reported as 16 bit. If I create Format16bppRgb565 using C++ and create the headers Explorer is happy. I have not figured out a way to access the header (BITMAPINFOHEADER) in C# as yet.
I was considering writing my own BMP Load and Save overrides derived from the Image class, as the Bitmap class is sealed. I'll look into using PNG instead.
regards,
SJD