Wow, those multi-column indexes look crazy.
Let's try this relatively simple query:
Code:
EXPLAIN SELECT author_id, topic_id FROM posts WHERE queued=N AND author_id=N AND topic_id IN(N,N,N);
The difficulty with EXPLAIN is that it needs actual values in place of those N's.
Browse your database and pick what seems to be the most common value for "queued". Insert it in place of the first N. (If it's not a number, enclose it in single quotes.) Also pick an author ID; use somebody who posts a lot. Replace the second N with the author ID. Finally, pick three topic IDs, preferably topics in which the author you picked has posted in. Use them to replace the last three N's. (You might be able to grab topic IDs from the URL. For example, the topic ID for this thread is 7896.)
Please post the result of your query. If you get an "Impossible WHERE" error, try using different values for the N's.
BTW, did you really pay $149 to use IPBoard?

That's a lot of money for a forum with a nice theme. Do they have a customer support line where you can ask for help? Try sending them your slow query log.
Also, try meddling with "sort_buffer_size" in my.cnf. (If it doesn't exist, add it.) The default value, I think, is 2M. Increase it a bit (4M or 8M) and see if it helps with your query times. You've got some very large indexes there...