I wanted to do the same thing.
I wrote a script to generate reams of SQL from my flat file.
The basic SQL looks as follows:

Set @forumId = 19;
Set @postingFromIP = '10.0.0.1';
Set @posterName = 'Poster';
Set @posterId = 17;

INSERT INTO punbb_topics (poster, subject, posted, last_post, last_poster, num_views, num_replies, closed, sticky, forum_id) VALUES (@posterName, 'TITLE OF THE POST', UNIX_TIMESTAMP() - 7200, UNIX_TIMESTAMP() - 7200, @posterName, 0, 0, 0, 0, @forumId);
set @topic_id = Last_Insert_ID();
INSERT INTO punbb_posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES (@posterName, @posterId, @postingFromIP, 'MESSAGE IN THE POST', 0, UNIX_TIMESTAMP()- 7200, @topic_id);
set @post_id = Last_Insert_ID();
Update punbb_topics set last_post_id = @post_id where id = @topic_id;
set @num_topics = (select num_topics from punbb_forums where id = @forumId);
UPDATE punbb_forums SET num_topics = @num_topics + 1 where id = @forumId;

I haven't done the search SQL, still debating whether it's worth it smile