データベースから取得しているデータは (string, datetime) であり、datetime を確認して、今日の sysdate @ 14:00 と等しいかどうかを確認する必要がありますが、リストから datetime フィールドを確認する方法がわかりません。
int recordCount;
using (IDatabase db = SystemStatus.GetDatabase(_connectionStrings.stuff))
{
const string query= @"
SELECT DISTINCT string, date
FROM table
WHERE date > DATE_SUB(SYSDATE(), Interval 30 day) AND
drop_date < DATE_SUB(NOW(), Interval 12 hour) AND
status_id = 2;";
var records = db.Fetch<Dictionary<string, List<DateTime>>>(query);
recordCount = records.Count;
}