Измените ваш метод Page_Load на:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack()) {
Populate();
}
}
При каждой загрузке страницы вы повторно привязываете раскрывающийся список, так что значение по умолчанию «все» всегда будет установлено. Используя свойство Page.IsPostBack, вы указываете, что страница должна связываться только при первой загрузке, а не при последующих возвратах. При использовании этого свойства выбранный элемент в раскрывающемся списке не будет изменяться при обратных передачах.
MSDN: Page.IsPostBack
Обновление
Что касается вашего комментария о предложении "Где" в вашем операторе SQL, хранится ли serverIP в базе данных в виде текста? Попробуйте обернуть serverIP апострофами, например:
SqlCommand cmd = new SqlCommand("SELECT * from ScheduledTasks WHERE ServerIP = '" + serverIP + "'', myConnection);