Тут еще обсуждалось по поводу скорости, удобства, CFile::GetPath() и прочего.
А что, где-то связные данные всегда сразу загружаются?
$comments = MagicClass::getComments();
Тут что, в $comments должны быть данные авторов комментариев, пути к уменьшенным аватаркам, количество комментариев, их права и данные прогноза погоды в Гондурасе??
Если такое надо - придется писать отдельный запрос, который всё вернет сразу. Или.. foreach ($comments as $comment) {$user = Users::find($comment->user_id);$avatar = $user->getAvatar();$pogoda = Weather::findByCountryID($user->country_id)......
Вы стандартный подход, который сами везде используете, преподносите как недостаток Битрикса. В тоже время, Битрикс не запрещает делать так, как вы хотите! Он руки вырывает, мозги высушивает что-ли?