И все-таки хочется понять почему мой поворачивает маленькие файлы, а большие - нет.
Еслине задать PixelFormat, то битмап создаётся в совместимом формате, и не может быть намного больше экрана.

То есть сразу после TBitmap.Create задайте PixelFormat, а только потом - размеры.