buenas,
un objeto no es quien posee la propiedad
prototype, sino el constructor. en el código de ejemplo estás creando una propiedad con el nombre
prototype para la nueva instancia. por tanto, lo que quisistes hacer fue lo siguiente:
Código:
function A(){}
function B(){
this.b = function(){ return 'b'; };
}
A.prototype = new B();
a = new A();
a.b(); // devuelve el string 'b';