Good idea, but i dont think you'll need a zero fill for that. you could just do a
$start_thread = "1.5.4.100000000";
$query = "SELECT * FROM forums WHERE thread_id LIKE '".$start_thread."%' ORDER BY date";
it would pull all the data out you needed to sort in the order you needed it to be placed in. Then it would just be a question of sorting the data. I'm in the process of writing a forum as well and I'm considering using this method. I'm assuming the only thing you'd have to watch for would be to make sure when you reached the end of the varchar(255) column you'd store that id in that you'd not start losing inserts due to activity. At that level it would be an issue of performance which you wouldnt have dealing with a child parent set of INT fields. at least thats my assumption. I have no practical understanding of varchar fields vs int fields in sql.
again, great idea. email me with any comments you might have. recursion, arrays, and multithread forums. what a head ache.
i'll post some example code on here when i get the parser worked out for that string.