You are using it correctly, but due to a bug this will not work. The reason is that the IsHot property is mapped in the query system as a column of the Topic table in the db. But the IsHot property is actually set by a Stored Procedure, this results in the error you get when using the TopicQuery system.
I have filed a bug regarding this.
Thanks for the answer Tom.
I've solved it temporarily by setting up criteria for TopicQuery.Replies.Count and TopicQuery.CreateDate so that recent topics with many replies are selected as hot topics.
I'm trying to write a TopicQuery that returns hot topics by using the IsHot property, see code below:
The code compiles, but when I try to view the page I get the following error: