Olá Rodolfo,
Testei a função que você me passou mas não obtive os resultados esperados, pois parece-me que ela retornar o que minha adaptadora/monitor de vídeo suporta, e não o que está atualmente configurado.
Pelo teste que fiz, deixei o vídeo configurado como 24 bits e também 16 bits e o retorno foi o mesmo. Alterei o retorno da função para mostrar o retorno da função GETDEVICECAPS(), o resultado sempre foi indicando 24 bits.
Carlos Moisés