I suspect the function calls in this query are the culprit:
select forums_messages.*,
person__name(forums_messages.user_id) as user_name,
party__email(forums_messages.user_id) as user_email,
forums_forum__name(forums_messages.forum_id) as forum_name,
forums_message__root_message_id(forums_messages.message_id)
as root_message_id,
(select fm2.subject
from forums_messages fm2
where fm2.message_id = forums_message__root_message_id(foru
ms_messages.message_id)) as root_subject,
to_char(forums_messages.posting_date, 'Mon DD YYYY HH24:MI:S
S') as posting_date
from forums_messages
where forums_messages.message_id= :message_id
This is in the proc forum::message::get, the select_message query.