ちょっと混乱したので現象をメモしておこう。

まずはソースを、
indexSceneの_onInitに書いてます。

protected override function _onInit():void {
	// 実行したいコマンドを登録する
	var sList0:SerialList = new SerialList();
	sList0.addCommand(
		function() {
			trace("sList0");
		}
	);
	var sList1:SerialList = new SerialList();
	sList1.addCommand(
	function() {
			trace("sList1");
	}
	);
	var sList2:SerialList = new SerialList();
	sList2.addCommand(
	function() {
			trace("sList2");
	}
	);
	var sList3:SerialList = new SerialList();
	sList3.addCommand(
	function() {
			trace("sList3");
	}
	);
	var sList4:SerialList = new SerialList();
	sList4.addCommand(
	function() {
			trace("sList4");
	}
	);
	var sList5:SerialList = new SerialList();
	sList5.addCommand(
	function() {
			trace("sList5");
	}
	);
	
	//
	addCommand(
		function() {
			trace("defolt addCommand Start");
		},
		addCommand(sList0),
		function() {
			insertCommand(sList2);
		},
		addCommand(sList1),
		function() {
			trace("defolt addCommand End");
		},
		insertCommand(sList4)
	);
	//
	insertCommand(sList5);
	insertCommand(sList3);
	
}

で、traceされる結果は、
sList3
sList5
sList4
sList0
sList1
defolt addCommand Start
sList2
defolt addCommand End

こんな順番。

気づいた点は、
_onInit()内に、insertCommand()をいくらでも書けるってこと。
そのinsertCommandはexecute()不要で、順番的には、addCommandよりも先になる。
さらに一番最後にinsertCommandしたものが実質一番最初(addCommandよりも先)に実行される、みたいね。

では、addCommand内でinsertCommandした場合はどうなるか。
これは少し注意が必要ね。
直接、insertCommandした場合は、addCommand内で一番最初に実行される。
でもfunction内でinsertCommandした場合は、既存のaddCommandの順番内に純粋に挿入される感じ。