Если выставить чекбоксу disabled, то он может не отправляться на сервер при submit, даже если галка включена (например если форма уходит на сервер через AJAX с использованием jQjery.serialize() ). Если хотите, чтобы значение отправлялось на сервер, но нельзя было поменять - вешайте на чекбокс обработчики событий onchange, onclick, в которых будете возвращать значение назад (и еще можно тут же messageBox выводить - "нельзя менять!")