Что касается «отключенных» изменений, вы можете прослушивать события DOMAttrModified. Смотрите этот контрольный пример для деталей:
http://jsfiddle.net/4kWbp/1/
Обратите внимание, что не все UA поддерживают события мутации DOM, такие как DOMAttrModified, и в тех, которые их поддерживают, их прослушивание может привести к снижению производительности.
Установка .checked напрямую не запускает события «change» и, похоже, тоже не запускает DOMAttrModified (хотя проверено только в Opera, и это тот тип недоопределенных вещей между пробелами, хорошо быть очень непоследовательным во всех браузерах. Возможно, это ошибка Opera.)
Последним средством, возможно, будет определение методов получения / установки для этих свойств. Это было бы довольно уродливо, хотя ...