Да, в этом блоке сложный запрос, одновременно из двух таблиц '_photos' и '_photos_cat'.
Поля 'subtitle' присутствуют в обоих таблицах, и они пересекаются.
Нужно просто конкретизировать запрос.
Из таблицы с категориями нам не нужны все поля, а только 'catcpu', которое используется для формирования ссылки.
Замените
$inq = $db->query
(
"SELECT a.*, b.* FROM ".$basepref."_".$bs['mod']." AS a
LEFT JOIN ".$basepref."_".$bs['mod']."_cat AS b ON (a.catid = b.catid)
WHERE".$cats." a.act = 'yes' ORDER BY ".(($bs['random'] == 'yes') ? 'MD5(RAND())' : $bs['sort'].' '.$bs['order'])." LIMIT ".$bs['col']
);
На
$inq = $db->query
(
"SELECT a.*, b.catcpu FROM ".$basepref."_".$bs['mod']." AS a
LEFT JOIN ".$basepref."_".$bs['mod']."_cat AS b ON (a.catid = b.catid)
WHERE".$cats." a.act = 'yes' ORDER BY ".(($bs['random'] == 'yes') ? 'MD5(RAND())' : $bs['sort'].' '.$bs['order'])." LIMIT ".$bs['col']
);
Почему не полностью текст выводится не знаю, возможно, просто не вмещается в разметку блока.
Судя по скриншоту, он достаточно узкий.