когда указываешь в админке, что картинка не квадратная, то он ориентируется на высоту, а должен на ширину
судя по коду в файле ядра "/core/classes/upload_photo.class.php" в строке 90:
if (!$this->small_size_h) { $this->small_size_h = $this->small_size_w; }
if (!$this->medium_size_h) { $this->medium_size_h = $this->medium_size_w; }
если конкретно не указана высота изображения, то она принимается равной ширине. И исходя из этого и режется изображение. Оно ориентируется не на ширину и не на высоту, а на то что максимально у них (другими словами, для портретных ориентация на высоту и ландшафтных картинок ориентация на ширину). Правильнее было бы не равнять высоту с шириной, а использовать их кратность. Но это уже файл ядра, поэтому лучше этот вопрос задать разработчикам, ведь в компоненте "каталог статей", та же самая проблема.