Algunos bmp creados mediante las funciones de windows no son abiertas correctamente por otras aplicaciones que realizaron su propio algoritmo para abrir los .bmp. Depende de la versión del dll que haga el trabajo.
¿Probaste con MODIFICAR las dimensiones de los .bmp, usando ancho y alto impares?
Esto me sucede a mí con un programa que tengo para crear un .bmp a partir de una secuencia de .bmp para crear un archivo de animación. Con algunos editores gráficos el .bmp creado aparece distorcionado cuando no posee dimensiones impares...