Me too, right after i upgraded to 1.0.4 i got this error

I got the same error as well after the 1.0.4 Joomla update. I narrowed the problem down to a call to the SMF function "db_query()" on about line 44 of the file "mod_smf_recent_topics.php" in the "modules" subdirectory of my Joomla installation. The "db_query()" function seems to be an enhanced version of the MySQL "mysql_query()" function. So I rewrote that part of the module code to use "mysql_query()" instead of "db_query()". I am not a PHP expert so I don't know what the side effects of doing this is so do this hack at your own risk. Here is what I changed:
Original Code Block:
$request = db_query("
SELECT
mem.realName,
m.posterTime,
m2.subject,
t.ID_TOPIC,
t.ID_MEMBER_UPDATED,
t.ID_LAST_MSG,
m.ID_BOARD,
b.name AS bName,
t.numReplies,
m.posterName, " . ($user_info['is_guest'] ? '1 AS isRead, 0 AS logTime' : '
IFNULL(lt.logTime, IFNULL(lmr.logTime, 0)) >= GREATEST(m.posterTime, m.modifiedTime) AS isRead,
IFNULL(lt.logTime, IFNULL(lmr.logTime, 0)) AS logTime') . "
FROM
{$smf_prefix}members AS mem,
{$smf_prefix}topics AS t,
{$smf_prefix}messages AS m,
{$smf_prefix}messages AS m2,
{$smf_prefix}boards AS b" . (!$user_info['is_guest'] ? "
LEFT JOIN {$smf_prefix}log_topics AS lt ON (lt.ID_TOPIC = t.ID_TOPIC AND lt.ID_MEMBER = $ID_MEMBER)
LEFT JOIN {$smf_prefix}log_mark_read AS lmr ON (lmr.ID_BOARD = t.ID_BOARD AND lmr.ID_MEMBER = $ID_MEMBER)" : '') . "
WHERE
t.ID_BOARD = m.ID_BOARD
AND t.ID_BOARD = b.ID_BOARD" . (empty($exclude_boards) ? '' : "
AND t.ID_BOARD NOT IN (" . implode(', ', $exclude_boards) . ")") . "
AND t.ID_LAST_MSG = m.ID_MSG
AND t.ID_FIRST_MSG = m2.ID_MSG
AND mem.memberName = m.posterName
AND $user_info[query_see_board]
ORDER BY m.posterTime DESC
LIMIT $limit", __FILE__, __LINE__);
Modified to:
$request = mysql_query("
SELECT
mem.realName,
m.posterTime,
m2.subject,
t.ID_TOPIC,
t.ID_MEMBER_UPDATED,
t.ID_LAST_MSG,
m.ID_BOARD,
b.name AS bName,
t.numReplies,
m.posterName, " . ($user_info['is_guest'] ? '1 AS isRead, 0 AS logTime' : '
IFNULL(lt.logTime, IFNULL(lmr.logTime, 0)) >= GREATEST(m.posterTime, m.modifiedTime) AS isRead,
IFNULL(lt.logTime, IFNULL(lmr.logTime, 0)) AS logTime') . "
FROM
{$smf_prefix}members AS mem,
{$smf_prefix}topics AS t,
{$smf_prefix}messages AS m,
{$smf_prefix}messages AS m2,
{$smf_prefix}boards AS b" . (!$user_info['is_guest'] ? "
LEFT JOIN {$smf_prefix}log_topics AS lt ON (lt.ID_TOPIC = t.ID_TOPIC AND lt.ID_MEMBER = $ID_MEMBER)
LEFT JOIN {$smf_prefix}log_mark_read AS lmr ON (lmr.ID_BOARD = t.ID_BOARD AND lmr.ID_MEMBER = $ID_MEMBER)" : '') . "
WHERE
t.ID_BOARD = m.ID_BOARD
AND t.ID_BOARD = b.ID_BOARD" . (empty($exclude_boards) ? '' : "
AND t.ID_BOARD NOT IN (" . implode(', ', $exclude_boards) . ")") . "
AND t.ID_LAST_MSG = m.ID_MSG
AND t.ID_FIRST_MSG = m2.ID_MSG
AND mem.memberName = m.posterName
AND $user_info[query_see_board]
ORDER BY m.posterTime DESC
LIMIT $limit");
So I just changed line 44 from
$request = db_query("
to
$request = mysql_query("
and also line 74 from
LIMIT $limit", __FILE__, __LINE__);
to
LIMIT $limit");
After I made the above changes the module appears to be working again. I haven't figured out what this change cripples in SMF but so far everything seems to still be working. I figure this hack will hold me over until an official fix is released.