Vector をこのようにキャストすると...
var v1:Vector.<String> = new Vector.<String>();
v1.push("foo");
var v2:Vector.<Object> = Vector.<Object>(v1)
v1.push("bar");
trace(v1); //foo,bar
trace(v2); //foo
... トレース出力でわかるように、Vector のコピーが作成されます。
しかし、3行目を次のように変更すると...
var v2:Vector.<*> = Vector.<*>(v1)
... コピーは作成されず、v1 と v2 の両方が同じオブジェクトを指し、トレース出力は両方とも「foo,bar」になります。
どうして?どういうわけか一貫した動作があるべきではありませんか?