Un paio di domandine:
1.Ma agisci da codice o da UI? Quel tipo di comportamento si innesca solo se il valore selezionato nella dropdownlist, cambia interagendo con la UI e non da codice.
2. che versione del framework stai usando?
Creando una pagina di prova, con il framework 4.0, come quella che ti ho allegato in questo messaggio, tutto sembra funzionare.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="false">
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
</asp:DropDownList>
</p>
<p>
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:DropDownList>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="DropDownList1"
ControlToValidate="DropDownList2" ErrorMessage="Deve essere minore" Operator="GreaterThan"
></asp:CompareValidator>
</p>
</div>
</form>
</body>
</html>