He encontrado un modo un poco retorcido, consiste en que aunque aparentemente te deja cambiar la opción, en cuanto sales del SELECT la devuelve a la original --despistará bastante al usuario, que se cree que puede cambiarla, pero funciona en Firefox 1.0, en IE 4, 5 y 6 y en Netscape 4.7:
Código HTML:
<html>
<head>
<script language="javascript" type="text/javascript">
var opc
function guarda(ctl)
{ opc = ctl.selectedIndex
}
function bloquea(ctl)
{ ctl.selectedIndex = opc
}
</script>
</head>
<body>
<form>
<select onFocus="guarda(this)" onBlur="bloquea(this)">
<option value="">...</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="b">c</option>
</select>
</form>
</body>
</html>