regarding the "transcoder" sample, currently it's only some kind of example rather than complete transcoding solution and it relies that particular component returns status of error.
But you are right, there is no complete check of correspondence of data formats and particular codecs, it might be obtained only from deep diving into docs and sources. From my point of view the best thing for complete transcoder would be some kind of table that contains correspondence of data formats and particular codecs, but sorry, it's still not implemented in transcoder.
Regarding remarkable data range representation. BitDepth() is intended to represent amount of required mantissa bits minus 1 and IsSigned() returns sign capability. That's why for full-range 16s BitDepth() returns 14.Such a representation covers well mostly all of data format that are currently used for i/o raster data in codecs. Generally it reffers to JPEG 2000 coding system as example of such a representation, even now it's probably the most wide format in the codecs.
Absolutely agree, it might be not the most intuitive for some cases, but that's a matter of existed compromise among many different data formats.