Прототипы не причем.
var obj1 = {prop: true};
obj2 = obj1;
alert(obj2.prop);
obj1 = {prop: false};
alert(obj2.prop);
Помоему все логично. Переменные хранят ссылку на объект, а не на другую переменную. Если сделать так, чтобы одна переменная ссылалась на другой объект(новый), то вторую переменную это не коснется - она попрежнему будет ссылаться на первый объект.
var obj1 = {prop: true};
obj2 = obj1; // сейчас obj2 ссылается не на obj1, а на объект, на который ссылается obj1!!!
alert(obj2.prop);
obj1 = {prop: false}; // теперь obj1 ссылается на новый объект. obj2 попрежнему ссылается на старый объект.
alert(obj2.prop);