For your hint, there is no good semantic element. Use a span tag. (Your example is not well-formed, you never close the span tag.)
Same for dates - and span is in this case semantically preferable to div, because it is not a division or section of the document, but just a lump of text that belongs together.
For the comments, a div containing each comment within the blockquote instead of a p element, and use p elements for textual paragraphs in the comments; linebreaking fluidly instead of using the br element.
The kbd element signifies text that the use should enter in for example a code listing, not text that user should enter in a document.
The dfn element is supportsed to be used when you define a term that you later in the text will use. This is useful for ambigous terms. Say you want to talk about cats. Then, do you by the word 'cat' mean domestic cats or all animals of the felidae family? Use the dfn tag for clearing that up the first time you use the word 'cat' on the page.
As for a forum thread, the appropriate markup depends a little on your perspective. You could look at it as a table of entires, where you in one column have the poster's user name, date of writing etc, and in the other column have the text. You could look at it as a set of nested lists, creating a hierarchical structure. You could look at it as sections of running text made by certain posters at certain times. A thread is a so complex thing that you can chose many different views upon what it truly is. There is no true semantical equivalent of forum threads in HTML, so you must approximate them, which is the reason for the ambiguity. You could write your own in XML if you wanted, though, or a module for XHTML.