lo que dice kipiloko esta bien y de hecho es lo mejor si lo que buscas es un sistema muy optimizado, de lo contrario podrias usar tambien consultas anidadas:
Código PHP:
SELECT *, (SELECT COUNT(*) FROM respuestas WHERE id_tema=temas.id_tema) AS numero_respuestas FROM temas JOIN usuarios ON temas.id_user = usuarios.id_user
Where id_categoria=$categoria ORDER BY ultima_resp DESC LIMIT 30
Ademas para optimizar mas la consulta define los campos en el SELECT en lugar de usar el *.
Saludos