Hi Claudius,
Strange that "is_root:true" wasn't working for you. Were you using it as part of the q parameter? For example (unencoded):
http://lithosphere.lithium.com/restapi/vc/search/messages/count?q=is_root:true
I tend to prefer the "is_root:true" with collapse_discussion=false approach when searching for threads, since it gives you back the root message for each thread rather than the best match per thread. This ensures that the root message occured within the desired time range, which I'm assuming is what is wanted here. With collapse_discussion=true, it will return a result if any message in the thread matches the search criteria (ie. one of the replies falls in the selected time range), so the results may be skewed.
I suppose it really depends on what you want to count... Thread being started in the time range vs. thread activity in the time range.