z座標とか

描画順を指定するz引数は削除しよう。
drawした順番でよい。
なぜかというと、描画順はdrawの順番で指定することでほとんどコト足りるし、どーしてもdraw順以外で重ねたければ、xとyとimageとzを持つクラスを作って、drawの代わりにそれを配列に叩き込んで、描画前にsortしてdrawすればいいだけだからだ。
D3DX内でソートするかRuby側でソートするかの違いであって、処理速度の差を気にするほど多くの画像を描画するとしたら、そもそもその時点で処理の重さが問題になっているはずだ。
半透明描画(通常はこの指定)と加算合成描画の切り替え時にFlushするようにして、「切り替えは重い処理なので加算合成描画はまとめるように。なるべくなら描画の最後にしてね。」とでも書いておけばよいだろう。
加算合成して派手なエフェクトを使おうと考えるぐらいなら、それなりのゲームを作っているはずだし、そういう話も理解できるのではなかろうか。