I read you answer closely and deleted my first answer because it was wrong. Here is an SQL FIDDLE with a solution that includes a setup and a recursive CTE query that groups all related forums using a "TopLevelForumID" field. This query should be efficient, but depending on your table statistics, you could add an INDEX to improve the response speed.
Added scalar-valued function, which can be called like so:
-- How yo use this Scalar-valued function
--SELECT [ForumThreadID]
-- ,[ForumID]
-- ,[ParentID]
-- ,[PostSubject]
-- ,[PostBody]
-- ,[Created]
-- ,[CreatedBy]
-- ,[dbo].[fn_getLastThread]([ForumID]) AS [LastThread]
-- FROM [dbo].[ForumThreads]
CREATE FUNCTION [dbo].[fn_getLastThread]
(
@ParentForumID INT
)
RETURNS INT
AS
BEGIN
DECLARE @Ret INT;
-- recursive CTE query
WITH hierarchy AS (
-- select the parent row
SELECT [ForumID],[ParentID],[Created]
FROM ForumThreads
WHERE [ForumID]=@ParentForumID
UNION ALL
SELECT A.[ForumID],A.[ParentID],A.[Created]
FROM ForumThreads A
INNER JOIN hierarchy H ON H.[ForumID] = A.[ParentID]
)
SELECT TOP 1 @Ret = [ForumID]
FROM hierarchy
ORDER BY [Created] DESC
OPTION (MAXRECURSION 50); -- specify recursion limit (default is 100 if not specified)
RETURN @Ret;
END