Интерфейс - это не более чем список методов, которые можно вызвать у класса его использующего. Нужен а. для того, чтобы человек работающий с чужим классом мог быстро узнать, какие методы есть у класса. б. чтобы писать несколько похожих по функционалу классов и не забыть случайно реализовать какую-нибудь функцию у них.
В вашем примере вы реализовываете ф-цию из и-фейса:

Код:
public function writeDynamicProperty(name:String, value:*):void{ }
Только она ничего не делает

Код:
public function writeDynamicProperty(name:String, value:*):void{
this[name] = value;
}
Очевидно то, что вы пытаетесь получить.