1. Я бы написал все это так:

Код:
function SuperClass() {
trace("SuperClass constructor called");
this.__proto__.f1 = function() {
trace("f1 called");
};
this.f2 = function() {
trace("f2 called");
};
}
function SubClass() {
trace("SubClass constructor called");
}
SubClass.prototype.__proto__.f3 = function() {
trace("f3 called");
};
SubClass.prototype = new SuperClass();
obj = new SuperClass();
trace("---------------");
obj.f1();
obj.f2();
obj.f3();
trace("******************************");
obj2=new SubClass();
trace("---------------");
obj2.f1();
obj2.f2();
obj2.f3();
2. реализация методов f1(), f2(), f3() видна из записи.
3. Эта строчка нихрена не значит.