Ok, all done!
I've removed a lot of redundant variable declarations too. The result is thus:
<tr class="tableSubLedger">
<td colspan="2">Latest Forum Posts</td>
</tr>
<tr class="tableRow">
<td> </td>
<td> <table cellspacing="1" cellpadding="3" class="tableBorder" align="center">
<tr class="tableSubLedger">
<td width="38%" align="center" >Topic</td>
<td width="19%" align="center" >Forum</td>
<td width="15%" align="center" >Author</td>
<td width="21%" align="center" >Date</td>
<td width="7%" align="center" >Views</td></tr>
<%
Dim LastLatestPostsDateTime
Dim LastLatestPostsDate
Dim LastLatestPostsTime
strSql = "SELECT TOP 10 T.Subject, T.Topic_ID, Fo.Forum_ID, Fo.Forum_name, T.No_of_views, Th.Message_date, Au.Username, Th.Thread_ID " & _
"FROM " & strDbTable & "Forum Fo " & _
"INNER JOIN " & strDbTable & "Topic T ON Fo.Forum_ID = T.Forum_ID " & _
"INNER JOIN " & strDbTable & "Thread Th ON T.Last_Thread_ID = Th.Thread_ID " & _
"INNER JOIN " & strDbTable & "Author Au ON Th.Author_ID = Au.Author_ID " & _
"WHERE T.Hide = 0 " & _
"ORDER BY Th.Message_date DESC"
rsCommon.Open strSQL, adoCon
If rsCommon.EOF Then
Response.Write "<tr class=""tableRow""><td colspan=5>No recent posts. Please check back later.</td></tr>"
Else
do while rsCommon.Eof = false
LastLatestPostsDateTime = rsCommon("Message_date")
LastLatestPostsDate = DateFormat(LastLatestPostsDateTime)
LastLatestPostsTime = TimeFormat(LastLatestPostsDateTime)
intForumColourNumber = intForumColourNumber + 1
Response.Write(vbCrLf & " <tr ")
If (intForumColourNumber MOD 2 = 0 ) Then Response.Write("class=""evenTableRow"">") Else Response.Write("class=""oddTableRow"">")
Response.Write("<td>")
Response.Write "<a class=""smLink"" href=""forum_posts.asp?TID=" & rsCommon("Topic_ID") & "&get=last#" & rsCommon("Thread_ID") & """ title="""">" & rsCommon("Subject") & "</a></td>" & _
"<td><a class=""smLink"" href=""forum_topics.asp?FID=" & rsCommon("Forum_ID") & """>" & rsCommon("Forum_name") & "</a></td>" & _
"<td align=""center""><span class=""smText"">" & rsCommon("Username") &"</span></td>" & _
"<td align=""center""><span class=""smText"">" & LastLatestPostsDate & "-" & LastLatestPostsTime & "</span></td>" & _
"<td align=""center""><span class=""smText"">" & rsCommon("No_of_views") & "</span></td></tr>"
rsCommon.MoveNext
loop
end if
'Clean up
rsCommon.Close
Call closeDatabase()
Response.Write "</table></td></tr>"
This doesn't give a true "last 10 posts" though, it gives the last 10 topics that have been posted to. A bit too much like Active Topics for my liking.

So, if you want a
true last 10 posts, simply replace the SQL definition with this:
strSql = "SELECT TOP 10 T.Subject, T.Topic_ID, Fo.Forum_ID, Fo.Forum_name, T.No_of_views, Th.Message_date, Au.Username, Th.Thread_ID " & _
"FROM " & strDbTable & "Forum Fo " & _
"INNER JOIN " & strDbTable & "Topic T ON Fo.Forum_ID = T.Forum_ID " & _
"INNER JOIN " & strDbTable & "Thread Th ON T.Topic_ID = Th.Topic_ID " & _
"INNER JOIN " & strDbTable & "Author Au ON Th.Author_ID = Au.Author_ID " & _
"WHERE T.Hide = 0 " & _
"ORDER By Th.Message_date DESC"
This could result in the same topic appearing in the list more than once, but for different posts within that thread. This is correct behaviour if any of the last 10 posts made on the forum are within the same topic.
To change the amount of posts returned simply change the TOP 10 part of the SQL query to what ever you want to pull back, e.g. TOP 5 or TOP 20 etc.
The syntax of the SQL query needs changing for MS Access. I've not got an Access forum with data in to try it on but the query ran without errors on a blank WWF Access database.
strSql = "SELECT TOP 10 Subject, " & strDbTable & "Topic.Topic_ID, " & strDbTable & "Forum.Forum_ID, Forum_name, No_of_views, Message_date, Username, Thread_ID " & _
"FROM " & strDbTable & "Forum Fo " & _
"INNER JOIN (tblTopic INNER JOIN (" & strDbTable & "Thread INNER JOIN " & strDbTable & "Author " & _
"ON " & strDbTable & "Thread.Author_ID = " & strDbTable & "Author.Author_ID) " & _
"ON " & strDbTable & "Topic.Last_Thread_ID = " & strDbTable & "Thread.Thread_ID) " & _
"ON " & strDbTable & "Forum.Forum_ID = " & strDbTable & "Topic.Forum_ID" & _
"WHERE " & strDbTable & "Topic.Hide = 0 " & _
"ORDER By Message_date DESC"
I beleive that the MySQL query would something like the following. It would need testing however as I don't have MySQL to test it on. Note the use of LIMIT, as MySQL doesn't support the TOP command.
strSql = "SELECT T.Subject, T.Topic_ID, Fo.Forum_ID, Fo.Forum_name, T.No_of_views, Th.Message_date, Au.Username, Th.Thread_ID " & _
"FROM " & strDbTable & "Forum Fo " & _
"INNER JOIN " & strDbTable & "Topic T ON Fo.Forum_ID = T.Forum_ID " & _