In some situations FreeImage imports the image in a more suitable bit depth - different to the original.
For example in the ICO plugin, to import transparency you need to pass ICO_MAKEALPHA which returns a 32 bit image containing an alpha channel.
The conversion is made regardless of the original bit depth, which can be 1, 2, 4 or 24. The ICO format has a stranger transparency storage ( XOR and AND masks ) and it can't be done otherwise.
The original bit depth is lost in this case, and there is not method to retrieve it as the conversion takes place in the loader. So you need to choose either to have transparent files or a correct bit depth information.
The RAW plugin may load the image data either as 24 bit RGB either as 48 bit RGB16. In fact the original RAW bit depth can be 12 or 14 on new camera sensors. The original data usually does not contain color information, it contains just light, then the data is overlaid with a color filter array, usually a Bayer filter in post-processing. Few sensors, such as the Foveon X3 sensor, capture information directly in RGB form, having three pixel sensors in each location. But RAW image bit depth is commonly known as 12 or 14 bit not 36 or 42...
The need to have the original bit depth emerged.
Attached is a file describing how I implemented it
FreeImage_GetOriginalBPP() returns the value from FreeImage_GetBPP if no originial BPP was set.