Jeremy thanks for the update.
From my research at the time the bmp's you get from 'Paint' program are 24 bit only. The older 1, 4 and 8 were for indexed monochrome, 16 and 256 pallet. Greyscale is either 16 or 256 or perhaps 24 bit (non-indexed).
My understanding was that indexing for fewer colours was reasonable due to the likely repetition of the colours in the image, so two or more pixel positions can refer to same index using less bytes in file overall. However when you get to a 24 bit image the likelihood is that the palette of indexed colours would be almost as large as the image grid size, in terms of colour variations and numbers of pixels i.e. no benefit of indexing.
The inclusion of alpha channel in 32 bit bmp is supported by the bmp format and can be displayed in Windows but largely is ignored it seems. This 32 bit format doesn't appear in Revit in-canvas control when you save in that format via System.Drawing.Imaging.PixelFormat.
e.g.: PixelFormat.Format32bpp... formats.
There is slightly more work involved to create an indexed bitmap via System.Drawing so I just relied on imaging programs to save as those for testing (I checked 'Bit depth' under 'Details' of file properties in file explorer).
There is a section in the bmp file header that identifies the form of bitmap anyway, so should be no confusion.
There is also the notion of 'Color quantization' that occurs when converting to 8-bit colour display from 24 bit. The hypothesis being that since less bytes were reserved for blue they would be over populated. I think I was just clutching at straws at that point though since 0,59,189 is not random. I did try changing selection colours in Revit as noted above i.e. to see if selection colour was being added to colour but that had no effect on result.
The situation is very low priority for me however it would have consequences if a developer wanted to implement red, amber, green icon system etc.