Always use explicit, non-ambiguous formats. So rather than adding your Date param like;
& "Date=" & dt.ToString()
use a specific format
& "Date=" & dt.ToString("yyyy-MM-dd")
When you read the param from the querystring convert it from that format
DateTime dt;
DateTime.TryParseExact(Request.QueryString["Date"], "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dt);