Albuss, quiero que te des una idea de como funciona interiormente.
Existen estos tipos de variables en JavaScript 
string, number(enteros y flotantes ), function y object 
la parte de las variables de function no conozco mucho, asi que no las voy a tomar. 
pero por ejemplo si haces esto   
Código Javascript
:
Ver original- var usuario = {'nombre':'Albuss'} 
- var b = usuario 
- b.nombre = 'Brian' 
-   
- alert(usuario.nombre); // retorna Brian 
Ahora, que es lo que paso, b no tendria que ser independiente de usuario ? es decir, b no tendria que ser un objeto nuevo ?
no, ya que las variables usuario y b son 
punteros, los cuales apuntan a una direccion de memoria, donde se encuentra el objeto. 
todas las listas , objetos y objetos obtenidos de clases, son del tipo object. es decir que solo se encuentran mediante punteros 
esto no pasa con las cadenas o los numeros, ya que no contienen punteros, sino el valor en si, asi que no ocurriria lo mismo que los objetos. 
llendo a tu caso, yo podria hacer lo siguiente   
Código Javascript
:
Ver original- function PrototipoUno(){ 
-   this.CreateObject = function(){ 
-    this.ObjetoPrueva = new PrototipoDos(); 
-   } 
- } 
-   
- function PrototipoDos(){ 
-  this.existo = true; 
- } 
-   
- var prototipo = new PrototipoUno(); 
- prototipo.CreateObject() 
-   
-   
- var a = prototipo.ObjetoPrueva; 
- var b = prototipo.ObjetoPrueva; 
- var c = prototipo.ObjetoPrueva; 
- var d = prototipo.ObjetoPrueva; 
- d.existo = false; 
-   
- prototipo.ObjetoPrueva.existo // false 
es decir, ahí estoy creando punteros, pero no estoy copiando al objeto 
un saludo