I am using JavaScript to invoke the GetListItems method of the SP webservice and handing in the following CAML:
var CAML = "<Query>"
+ "<ViewAttributes Scope=\"Recursive\" />"
+ "<Where>"
+ "<Or>"
+ "<Eq>"
+ "<FieldRef Name=\"ID\"/>"
+ "<Value Type=\"Counter\">" + id + "</Value>"
+ "</Eq>"
+ "<Eq>"
+ "<FieldRef Name=\"ParentFolderId\" />"
+ "<Value Type=\"Integer\">" + id + "</Value>"
+ "</Eq>"
+ "</Or>"
+ "</Where>"
+ "</Query>";
var fieldinfo = "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Body' /><FieldRef Name='CorrectBodyToShow' /><FieldRef Name='Created' /><FieldRef Name='Author' /><FieldRef Name='Editor' /><FieldRef Name='PersonalImage' /><FieldRef Name='DiscussionLastUpdated' /></ViewFields>"
And I only receive the top level item back...the Discussion Type item. There are 2 Message Type items related to the ParentFolderId of 1 but they do not get returned.
As an aside, if I run the CAML in the U2U tool it DOES return the entire thread...one Discussion and two Messages.
John