The most likely culprit is:
and stime >= #createODBCDateTime(timehr)#
CreateODBCDateTime() creates a datetime object. If you simply supply it a time, it will use the current date.
The solution is to use proper datatypes. I assume you already did something like this:
<cfset stime = CreateTime(8,0,0)>
That being the case, you want this in your query.
and stime >= <cfqueryparam cfsqltype="cf_sql_time" value="#stime#">
For a variety of reasons, you want to use query parameters for every variable in your query. This will eliminate the need to use CreateODBCDateTime().