Yo tuve un problema parecido que afortunadamente lo pude resolver por mi propia cuenta.
Resulta que intenté jugar con la propiedad disabled (true, false) según una condición. Entonces lo hice de la siguiente forma:
Código PHP:
Ver originaldisabled="<?php if(blabla) { echo "true"; } else { echo "false"; }?>"
Al igual que tú, el campo siempre aparecía deshabilitado. Entonces intenté lo siguiente:
Código PHP:
Ver original<input ... <?php if(blabla) { echo "disabled=true"; }?> >
Y funcionó. Lo que quiero decirte es que, al parece basta con mencionar CHEKED o DISABLED para que el campo automáticamente tome esa declaración como verdadera
(no se si me explico).
Espero haberte ayudado :)