Вы пытались определить пару получатель / установщик на самом объекте документа, а не на прототипе?
document.__defineGetter__("cookie", function() {} );
document.__defineSetter__("cookie", function() {} );
Я знаю, что это не должно иметь значения, но я не недооцениваю нюансы браузера. Даже с WebKit.
Обновление
Я провел несколько тестов в Chrome 2, и кажется, что он позволяет определять только сеттер. В любом случае, я не уверен, насколько достоверно это наблюдение для WebKit, поскольку Google Chrome использует интерпретатор JavaScript, отличный от WebKit.