Кажется, что вы не получаете никаких результатов, так что выдает ошибки. Вы всегда должны проверять результаты перед циклом, вы не можете просто предполагать, что каждый запрос будет что-то возвращать.
Кроме того, если вы хотите что-то из настоящего / будущего, ваш операнд сравнения обратный:
$sql = "SELECT * FROM tblAgenda WHERE date >= CURDATE() order by date ASC";
Воедино:
$sql = "SELECT * FROM tblAgenda WHERE date >= CURDATE() order by date ASC";
$result = mysql_query($sql);
if (!$result) {
// do something to handle zero results here
} else {
// do your usual while... loop
while ($row = mysql_fetch_assoc($result)) {
// code for each result row
}
}