ChrisR: i'd suspect that it's also not kosher to dereference a Const pointer.
Huh? A pointer you can't dereference isn't much of a pointer, is it.
There's no problem dereferencing a constant pointer. In fact, arrays in C are (in a certain sense) nothing more than a constant pointer.
ChrisR: If a dereference is allowed then the program can backdoor a method to change the value by casting it to another type and then doing an assign.
Isn't that the whole point of casting in C? :-)