Hola:
En javascript disabled es un atributo lógico o booleano, o sea que solo puede ser cierto o falso... no sé muy bien como lo implementan los distintos navegadores, pero cuando no se quiere deshabilitar algo lo mejor es no declararlo (vale también para readonly)...
El ejemplo que puse vale no solo para disabled, sino para readonly, selected (en los select) y en los botones submit y reset para validar y resetear... o sea lo falso no valida en los botones submit, ni resetea en lo tipo reset, así como no selecciona en los select (aunque el manejo de los select es otra cosa y no voy a profundizar...)
Saludos