Yo utilizaría un campo
hidden para almacenar un "si" o un "no" según lo que tu te refieres.
Inicialmente en el campo tenemos "no". Lo que deberías hacer, es que si salta el evento
onchange, ponemos el campo a valor "no".
Lo que dudo es que si se abre el select y se selecciona la misma
option, es si salta el
onchange. Pero bueno eso podrías controlarlo con una variable que guarde el "antes" y compararlo con el "ahora".
Supongo que funcionará, postea un intento