Hola Laika6:
Me he decido a aportar algo y he probado algunas cosillas hasta dar con la solucion.
He realizado unas pruebas y tanto "readonly" como "disabled" no se comportan como una variable que tenga 2 estados 'true' o 'false' como tu supones y como cabría suponer.
Se comporta como un valor que esta definido o no, asi que he probado a realizar las comparacion asi:
Código PHP:
<script language="javascript">
function hola_Laika6(){
tu_y_yo = document.getElementById('encantadora');
if(tu_y_yo.readonly == "undefined")
alert('miau! no estamos definidos como readonly');
if(tu_y_yo.readonly != "undefined")
alert('estamos readonly (pero no se si eso es bueno)');
}
</script>
Venga un saludo