Просто дело в том, что если передаётся массив, то всё равно где то используется sprintf() и потом как то превращается в html...
конкретно в случае вывода «истории операций», для вывода html используется html_link($op['description'], $op['url'])
так как исходный код компонента «Биллинг» закрыт, вам нужно или делать свою версию функции LoraChangeBalance/LoraDecrementUserBalance, или придумать как использовать sprintf в районе 38 строки файла history.tpl.php. Что-то типа того, чтобы вместо html_link($op['description'], $op['url']) было бы:
sprintf($op['description'], $links[0], $links[1], ...));
чтобы это работало в момент записи операции вам нужно будет сохранять в базу данных что-то вроде
'text' => 'строка в которой есть <a href="%s'">ссылка</a> 1 и гипер-текстовая <a href="%s'">ссылка 2</a>',
'url' => 'url1*url2',
);
… что и называется мудрить… это не готовое решение, а просто набросок, как бы делал я.