from your first query it looks like you're trying to get the earliest/original post then append 9 latest post order by post_time desc. so then maybe a query like this (sqlFiddle)
SELECT post_id,timeorder FROM
(SELECT p.post_id,now()as timeorder FROM phpbb_posts p WHERE p.topic_id = 297 ORDER BY p.post_time ASC LIMIT 1)T1
UNION
SELECT post_id,timeorder FROM
(SELECT p.post_id,p.post_time as timeorder FROM phpbb_posts p WHERE p.topic_id = 297
AND EXISTS(SELECT 1 FROM phpbb_posts p2 WHERE p2.post_time < p.post_time AND p2.topic_id = 297)
ORDER BY p.post_time DESC LIMIT 9)T2
ORDER BY timeorder DESC
the timeorder
in the query is just used for sorting at the end so that the original post is first row and then the rest of the rows are latest posts order by post_time desc
the EXISTS
in T2
check is to make sure you don't include the original post(since it's already selected by T1
)