Ну как вариант, который давно хочется попробовать, не заполнять счетчик с помощью плагина, а вставлять маркер вида:
{jcomments object_id=123 object_group=com_content type=count}
А уже в системном плагине, на событие onAfterRender, собирать вот такие маркеры, дергать для них один запрос, и заменять маркеры, на нужный текст. Но тут получается двойная работа - сначала на onPrepareContent, мы проставим маркеры (отсюда это как бы удобно сделать - тут и ссылка есть и с readmore все понятно), а затем мы будем заменять эти маркеры на счетчики.
Из явных плюсов - во-первых один запрос, против N (где N - количество материалов, где разрешены комментарии), во-вторых счетчик комментариев всегда будет "честным", независимо от кэша.
Из явных минусов - усложнение логики и возможно некоторое замедление, потому как без регулярных выражений обойтись проблематично, а они все-таки не очень быстрые. Кроме того, сейчас эти ссылки выводятся шаблоном, одним файлом (tpl_links.php), а получается, что для данной реализации, ссылку Подробнее нужно будет вставлять в onPrepareContent, а ссылку Комментарии (или Добавить комментарий) - в onAfterRender, и это тоже далеко не прозрачно будет.
Была еще идея обновления значений счетчиков посредством AJAX, чтобы решить проблему с кэшированием материалов, но там тоже есть свои недостатки. В общем готов выслушать какие-то дополнительные идеи, по данному вопросу.