Да, действительно. Если убрать наследование от div'а, все заработает:
var View = function()
{
}
View.prototype = {};
View.prototype.parent = null;
View.prototype.constructor = View;
В этом случае будет правильный this, а id будет undefined.
Выходит, не получится наследовать View от элемента DOM. А ведь было бы удобно.