You never added the parameter to the command Object.
Do something like this:
string select_count_with_today = "SELECT COUNT(*) FROM ghesting WHERE (date_ghest <= ? )";
cmd.Parameters.AddWithValue("@date", U_today.ToString();
using .Parameters.AddWithValue() means you can add the parameter in one line of code and is much easier to read.