В основном, когда вы устанавливаете создание ChildObject
var ChildObject = function() {
};
ChildObject.prototype
указывает на экземпляр Object, поэтому при добавлении childMethod к прототипу ChildObject этот метод добавляется к этому объекту.
Но в этих 2 строках вы заменяете прототип ChildObject новым экземпляром BaseObject, который ничего не знает о childMethod
ChildObject.prototype = new BaseObject();
ChildObject.prototype.constructor = ChildObject();
Также я считаю, что это должно быть
ChildObject.prototype.constructor = ChildObject;
Таким образом, создается круговая ссылка.